题目
请实现一个函数,把字符串 s
中的每个空格替换成"%20"。
示例 1:
输入:s = "We are happy."
输出:"We%20are%20happy."
限制:
0 <= s 的长度 <= 10000
解题思路
1)初始化一个 StringBuilder ,记为 res ;
2)将 s 转为字符数组,遍历数组中的每个字符 c :
2.1)当 c 为空格时:向 res 后添加字符串 “%20”;
2.2)当 c 不为空格时:向 res 后添加字符 c ;
3)将 res 转化为 String 类型并返回。
复杂度分析:
时间复杂度 O(N): 遍历使用 O(N),每轮添加修改操作时间复杂度为O(1) 。
空间复杂度 O(N) :Java 的 StringBuilder 使用了线性大小的额外空间。
代码
class Solution {
public String replaceSpace(String s) {
StringBuilder res = new StringBuilder();
for(Character c : s.toCharArray()){
if(c == ' '){
res.append("%20");
}else{
res.append(c);
}
}
return res.toString();
}
}