题目
请实现一个函数,把字符串 s 中的每个空格替换成"%20"。
示例 1:
输入:s = "We are happy."
输出:"We%20are%20happy."
限制:
0 <= s 的长度 <= 10000
来源:力扣(LeetCode)
链接:https://leetcode-cn.com/problems/ti-huan-kong-ge-lcof
著作权归领扣网络所有。商业转载请联系官方授权,非商业转载请注明出处。
解法
这个题目在python中做意义不大的感觉。
这个题目考察的是尽量少的移动字符,基于原有的字符串进行移动。
在python里面直接算一下加‘%20’之后有多少个字符,开辟一个新的字符串感觉都要好些。
代码:
class Solution:
def replaceSpace(self, s: str) -> str:
res = []
space_num = 0
for c in s :
if c == " ":
space_num += 1
res = [" "]* (space_num*2 + len(s))
j = 0
for i in range(len(s)):
if s[i] == ' ':
res[j] = '%'
res[j+1] = '2'
res[j+2] = '0'
j += 3
else:
res[j] = s[i]
j += 1
return ''.join(res)
总结
这个题目本来不想写的,反正写了就一起顺便加上吧。
当然也可以在python中用双指针的办法。