题目:
将一个字符串中的每个空格替换成“%20”。例如,当字符串为We Are Happy。则经过替换之后的字符串为We%20Are%20Happy。
思路:
1)使用replace函数直接替换
2)新建一个StringBuffer SB遍历,非空格就append到SB,是空格就(SB.append('%');SB.append('2');SB.append('0');)
3)从后往前遍历StringBuffer,保证字符串长度可以随时增大;
遇到空格就sb. deleteCharAt(i);
然后sb.insert(i,"%20");
关于str.delete(arg0, arg1):删除arg0到arg1之间的字符,下标从0开始
代码:
public class Solution {
public static String replaceSpace(StringBuffer str) {
// 从后往前遍历
for(int i=str.length()-1; i>=0; i--){
if(str.charAt(i) == ' '){
str.deleteCharAt(i);
str.insert(i,"%20");
}
}
return str.toString();
}
}