题目:
请实现一个函数,把字符串 s 中的每个空格替换成"%20"。
示例 1:
输入:s = "We are happy."
输出:"We%20are%20happy."
限制:
0 <= s 的长度 <= 10000
解析:
这道题很简单,相信很多人都能秒写出来,就是将空格替换成替换成“%20”没有什么过多的技术,需要注意的一点,python,java等语言,字符串是不可变的,也就是说我们无法对原字符串做任何修改;所以在原字符串上进行添加操作是行不通的。要么将字符串的一部分复制到新创建的字符串,达到“看起来修改”的效果。,要么借助列表,将字符串变成字符数组,这样操作完毕直接将列表变为字符串就行。
第一种方法:投机法,借助python替换函数来进行(这个函数也是创建了一个新字符串的对象,而不是在原字符串上进行操作)
def replaceSpace(s:str) -> str:
string = s.replace(" ","%20")
return string
第二种方法:借助列表,遍历字符串,将每个字符添加到列表,当遇到空格时在列表中增加“%20”,最后将列表变为字符串即可。
def replaceSpace2(s:str) -> str:
result = []
for char in s:
if char ==" ":
result.append("%20")
else:
result.append(char)
return "".join(result)
执行结果: