字符串替换

题目链接-来源:力扣(LeetCode)

请实现一个函数,把字符串 s 中的每个空格替换成”%20”。

示例 1:

输入:s = “We are happy.”
输出:”We%20are%20happy.”

思路:

字符串替换,可以用 StringBuilder 类轻松实现。对空格所在的指针 i 进行删除与插入操作即可。
时间复杂度:O(n)
空间复杂度:O(n)

实现:

1
2
3
4
5
6
7
8
9
10
11
12
13
class Solution {
public String replaceSpace(String s) {
StringBuilder sb = new StringBuilder(s);
for (int i = 0; i < sb.length(); i++) {
if (sb.charAt(i) == ' ') {
sb.deleteCharAt(i);
sb.insert(i, "%20");
i += 2;
}
}
return sb.toString();
}
}