05 替换空格
题目
法一 list另存 时间:O(n) 空间:O(n)
算法流程
python中字符串无法更改,因此必须记住其他的结构来实现更改,本题采用list
- 遍历字符串s,i in s
如果i 不等于空格,则将i添加到list
如果i等于空格,则将’%20’添加到list - list每个元素都符合要求了,但是直接输出是单个的元素,不是连在一起的字符串,这个时候可以用jion函数
Python join() 方法用于将序列中的元素以指定的字符连接生成一个新的字符串。
复杂度
时间复杂度O(n):for循环遍历数组O(n),每轮添加(修改)字符操作 O(1)
空间复杂度O(n): 使用list的空间O(n)
代码
class Solution:
def replaceSpace(self, s: str) -> str:
list=[]
for i in s:
if i==' ':
list.append('%20')
else:
list.append(i)
return(''.join(list))
class Solution:
def replaceSpace(self, s: str) -> str:
return ''.join(('%20' if c==' ' else c for c in s))