原题链接
请实现一个函数,把字符串中的每个空格替换成"%20"。
数据范围
0≤ 输入字符串的长度 ≤1000。
注意输出字符串的长度可能大于 1000。
样例
输入:“We are happy.”
输出:“We%20are%20happy.”
题解
这题简单 所以不在过多说明
做法1:直接用replace方法 注意的是StringBuffer
class Solution {
public String replaceSpaces(StringBuffer str) {
return str.toString().replace(" ","%20");
}
}
做法2: 正常做法
class Solution {
public String replaceSpaces(StringBuffer str) {
StringBuffer res = new StringBuffer();
for(int i = 0 ; i < str.length() ; i++){
if(str.charAt(i) == ' '){
res.append("%20");
}
else {
res.append(str.charAt(i));
}
}
return res.toString() ;
//String.valueOf(res) ;
//二者都可以
}
}
总结
这两种速度都差不多在810ms 左右