题目描述
请实现一个函数,将一个字符串中的每个空格替换成“%20”。例如,当字符串为We Are Happy.则经过替换之后的字符串为We%20Are%20Happy。
思路分析
- 直接使用replace方法进行替换
- 新建一个字符串,如果是空格,append 20%,否则直接append
考察知识点
- String:final修饰,不可变。str = “a” + "bc"这种形式底层还是将string封装成了String Buffer进行运算
- StringBuild:可变,不加锁,速度快
- StringBuffer:可变,加锁,每个方法都有synchronize修饰,速度慢
代码实现
public class Solution {
public String replaceSpace(StringBuffer str) {
return str.toString().replace(" ", "%20");
}
}
public class Solution {
public String replaceSpace(StringBuffer str) {
StringBuffer sb = new StringBuffer();
for (char c : str.toString().toCharArray()) {
if (c == ' ') {
sb.append("%20");
} else {
sb.append(c);
}
}
return sb.toString();
}
}