问题:请实现一个函数,把字符串 s 中的每个空格替换成"%20"。
这里在for循环里面使用了“+”来拼接字符串(res+=…),这样每次都会new一个新的字符串,非常影响性能。
class Solution {
public String replaceSpace(String s) {
String res = "";
for(int i = 0; i < s.length(); i++){
if(s.charAt(i) == ' '){
res += "%20"; //这里使用 “+”来拼接字符串
}else{
res += s.charAt(i);
}
}
return res;
}
}
改进方法:new一个StringBuilder对象来拼接字符串性能更好
class Solution {
public String replaceSpace(String s) {
//new一个StringBuilder
StringBuilder sb = new StringBuilder();
for(int i = 0; i < s.length(); i++){
if(s.charAt(i) == ' '){
sb.append( "%20");
}else{
sb.append(s.charAt(i));
}
}
return sb.toString();
}
}