题目描述
请实现一个函数,将一个字符串中的空格替换成“%20”。例如,当字符串为We Are Happy.则经过替换之后的字符串为We%20Are%20Happy。
问题1:替换字符串,是在原来的字符串上做替换,还是可以重新定义一个字符串做替换:
问题2:从前往后替换和从后往前替换一样吗?
方法1:
从左往右遍历元素,若当前元素为空格,则插入“%20”, 并将字符串长度增加3. 时间复杂度O(n * n).
# -*- coding:utf-8 -*-
class Solution:
# s 源字符串
def replaceSpace(self, s):
# write code here
position = 0
while position < len(s):
if s[position] == ' ':
s = s[:position] + '%20' + s[position + 1:]
position += 3
else:
position += 1
return s
运行时间:23ms
占用内存:5736k
方法2:
时间复杂度O(n * n)# -*- coding:utf-8 -*-
class Solution:
# s 源字符串
def replaceSpace(self, s):
# write code here
s = list(s)
for i in range(len(s)):
if s[i] == ' ':
s[i] = '%20'
return ''.join(s)
运行时间:23ms
占用内存:5736k