请实现一个函数,把字符串 s 中的每个空格替换成"%20"。
解法一
使用StringBuilder
class Solution {
public String replaceSpace(String s) {
StringBuilder sb = new StringBuilder();
//遍历每个字符,拼接用StringBuilder提高效率
for (char c : s.toCharArray()) {
if (c == ' ') sb.append("%20");
else sb.append(c);
}
return sb.toString();
}
}
解法二
使用String的API
class Solution {
public String replaceSpace(String s) {
return s.replaceAll(" ", "%20");
}
}
String的API效率都不太行,如果需要多次操作,还是建议用StringBuilder,如果是多线程就用StringBuffer,防止出现线程安全问题。(StringBuffer和StringBuilder方法都一样,就是方法上多加了个synchronized关键字)