剑指offer——(2)替换空格

public class Solution {
    public String replaceSpace(StringBuffer str) {   
        /*
            思路一:return str.toString().replace(" ", "%20");
            思路二:计算字符串的空格数量,空出对应的位置依次插入'%''2''0'三个字符
        */ 	        
        char c[] = new char[str.length()];
    	int count = 0;    	
    	for(int i=0;i<c.length;i++) {
    		c[i] = str.charAt(i);
    		if(c[i]==' ') {    			
    			count++;
    		}    		
    	}
    	char chr[] = new char[c.length+count*2];     	
    	for(int i = 0,j = 0;i<c.length&&j<chr.length;) {
    		if(c[i]==' ') {       			
    			chr[j++] = '%';
    			chr[j++] = '2';
    			chr[j++] = '0';
    		}
    		else {
    			chr[j] = c[i];     			
    			j++;
    		}
    		i++;
    	}	
        /*
            toString方法出现乱码?!
            return chr.toString();  // [[email protected]
    	*/
    	return String.valueOf(chr);
    }
}

 

 

相关文章:

  • 2021-12-29
  • 2021-07-28
  • 2021-11-24
  • 2021-06-22
  • 2021-07-23
  • 2021-07-03
  • 2021-08-02
猜你喜欢
  • 2021-08-08
  • 2021-11-14
  • 2022-01-19
  • 2022-12-23
  • 2022-01-12
  • 2021-10-13
相关资源
相似解决方案