题目:实现一个函数,把字符串中的每个空格替换成"%20"
例如:输入"We are happy.", 则输出"We%20are%20happy."
这道题相对比较简单,只要懂得从尾到头复制就行,代码如下:
public class ReplaceBlank {
public static void main(String[] args) {
String str = "We are happy. ";
System.out.println(replaceBlank(str));
}
private static String replaceBlank(String str) {
char[] chars = str.toCharArray();
int len = chars.length;
int newLen = len;
for(char c : chars){
if(c== ' '){
newLen += 2;
}
}
char[] newChars = new char[newLen];
for(--len;len >= 0; len--){
if(chars[len] == ' '){
newChars[--newLen] = '0';
newChars[--newLen] = '2';
newChars[--newLen] = '%';
} else {
newChars[--newLen] = chars[len];
}
}
return new String(newChars);
}
}