欢迎访问我的blog http://www.codinglemon.cn/
1. 题目描述
请实现一个函数,把字符串 s 中的每个空格替换成"%20"。
示例 1:
输入:s = “We are happy.”
输出:“We%20are%20happy.”
限制:
0 <= s 的长度 <= 10000
来源:力扣(LeetCode)
链接:https://leetcode-cn.com/problems/ti-huan-kong-ge-lcof
著作权归领扣网络所有。商业转载请联系官方授权,非商业转载请注明出处。
2. 解题思路
这个题显然不要用String类的replaceAll方法,不然就失去了他的意义,而且从效率上来说也会慢一些,可以将String转为char类型数组,然后遍历数组,替换空格,另外记得拼接字符串时使用StringBuilder节约空间。
3.解题代码
class Solution {
public String replaceSpace(String s) {
char[] arr = s.toCharArray();
StringBuilder sb = new StringBuilder();
for (int i = 0; i < arr.length; i++) {
if(arr[i] == ' '){
sb.append("%20");
}else {
sb.append(arr[i]);
}
}
return sb.toString();
}
}
提交后时间复杂度与空间复杂度如下: