题目描述
请实现一个函数,将一个字符串中的空格替换成“%20”。例如,当字符串为We Are Happy.则经过替换之后的字符串为We%20Are%20Happy。
代码实现:
public class Solution {
public String replaceSpace(StringBuffer str) {
/*
//判断输入是否合法
if(str==null||str.length<uselength){
return -1;
}
//计算替换的空格数量
int whitecount=0;
for(int i=0;i<uselength;i++){
if(str[i]== ' '){
whitecount++;
}
}
//计算替换后字符串的长度
int targetlength=whitecount*2+uselength;
int tmp=targetlength;
if(targetlength>str.length){
return -1;
}
if(whitecount==0){
return uselenght;
}
uselength--;
targetlength--;
while(uselength>=0&&uselenght<targetlength){
//如果当前字符串中从后向前存在空格,则替换为%20
if(str[uselength]== ' '){
str[targetlength--]='0';
str[targetlength--]='2';
str[targetlength--]='%';
}else{
str[targetlength--]=str[uselength];
}
uselength--;
}
return tmp;
}*/
String sti = str.toString();
char[] strChar = sti.toCharArray();
StringBuffer stb = new StringBuffer();
for(int i=0;i<strChar.length;i++){
if(strChar[i]==' '){
stb.append("%20");
}else{
stb.append(strChar[i]);
}
}
return stb.toString();
}
}