题目描述 将一个字符串中的空格替换成 "%20"。
示例
Input:
"A B"
Output:
"A%20B"
思路:每次变化都会让字符串增加两个位置,先找出所有需要添加位置的个数,加到最后。然后建立一个p1指向原字符串尾部,p2指向新字符串尾部。将p1粘贴到p2位置,遇到' '处理即可。
代码:
public class Five {
public void replace(StringBuffer sb) {
int p1=sb.length()-1;
for(int i=0;i
if(sb.charAt(i)==' ')
sb = sb.append(" ");
int p2 = sb.length()-1;
for(int i=p1;i>=0;i--) {
if(sb.charAt(i)!=' ') {
sb.setCharAt(p2--, sb.charAt(i));
}else {
sb.setCharAt(p2--, '0');
sb.setCharAt(p2--, '2');
sb.setCharAt(p2--, '%');
}
}
System.out.println(sb);
}
}
总结:不熟悉String StringBuffer StringBuilder 可变/不可变
StringBuffer api