题目描述
将一个字符串中的空格替换成 “%20”
Input:
"A B"
Output:
"A%20B"
解法:
//也可以用StringBuilder解决
public String replaceR(String s){
int n = s.length();
String s1,s2;
for(int i=0;i<n;i++) {
if (s.charAt(i) == ' ') {
s1 = s.substring(0, i);
s2 = s.substring(i+1, n);
s = s1+"%20"+s2;
n = s.length();
}
}
return s;
}
大佬解题方法:
public String replaceSpace(StringBuffer str) {
int P1 = str.length() - 1;
for (int i = 0; i <= P1; i++)
if (str.charAt(i) == ' ')
str.append(" ");
int P2 = str.length() - 1;
while (P1 >= 0 && P2 > P1) {
char c = str.charAt(P1--);
if (c == ' ') {
str.setCharAt(P2--, '0');
str.setCharAt(P2--, '2');
str.setCharAt(P2--, '%');
} else {
str.setCharAt(P2--, c);
}
}
return str.toString();
}