《剑指Offer》
题目描述
请实现一个函数,将一个字符串中的每个空格替换成“%20”。例如,当字符串为We Are Happy.则经过替换之后的字符串为We%20Are%20Happy。
首先,观察存储的字符串被存储的数据结构是字符串结构,预期是使用%20替换空格,而%20将会占三位字符,空格只有一位字符,说明在替换过程中需要移动字符。
可以考虑使用python中的列表结构,将字符串一位一位的存入列表中,当遇到空格时,改存入"%20"或"%",“2”,“0”。(两者存入的区别是,前者将会把%20作为一个整体存入列表,后者每一个占用一位。即前者list = [‘W’,‘e’,’%20’,…],后者list = [‘W’,‘e’,’%’,‘2’,‘0’,…])。
最后,将列表中的字符转换成一个字符串整体输出。
class Solution:
# s 源字符串
def replaceSpace(self, s):
# write code here
# return s.replace(' ','%20')
aaa = []
for i in range(0,len(s)):
if s[i] == " ":
aaa.append("%20")
''' or 一位一位存
aaa.append("%")
aaa.append("2")
aaa.append("0")
'''
else:
aaa.append(s[i])
return ''.join(aaa)
时间复杂度为0(n)