替换空格
题目
请实现一个函数,将一个字符串中的空格替换成“%20”。
例如,当字符串为We Are Happy.则经过替换之后的字符串为We%20Are%20Happy
思路
首先计算多少个空格,然后一个空格替换成三个char,依次插入。
代码
public class replaceSpace_2 {
public String replaceSpace(StringBuffer str){
char[] chars = str.toString().toCharArray();
int m = chars.length;
int count = 0;
for (int i=0;i<m;i++){
if (chars[i]==' '){
count++;
}
}
if (count==0){
return str.toString();
}
int newLength = m + 2 * count;
char[] newChar = new char[newLength];
for (int i=m-1;i>=0;i--){
if (chars[i]==' '){
newChar[newLength-1]='0';
newChar[newLength-2]='2';
newChar[newLength-3]='%';
newLength = newLength-3;
}else {
newChar[newLength-1]= chars[i];
newLength = newLength-1;
}
}
return new String(newChar);
}
}