题目:请实现一个函数,将一个字符串中的每个空格替换成“%20”。例如,当字符串为We Are Happy.则经过替换之后的字符串为We%20Are%20Happy。
想到的简单操作:
# -*- coding:utf-8 -*-
class Solution:
# s 源字符串
def replaceSpace(self, s):
# write code here
return '%20'.join(list(s.split(' ')))
# -*- coding:utf-8 -*-
class Solution:
# s 源字符串
def replaceSpace(self, s):
# write code here
return s.replace('','%20')
根据剑指offer上的思路
复杂度O(n)
class Solution:
# s 源字符串
def replaceSpace(self, s):
# write code here
p1 = len(s)-1
for i in s:
if i == ' ':
s = s + ' '
s = list(s)
p2 = len(s)-1
while p1 != p2:
if s[p1] == ' ':
s[p2] = '0'
s[p2-1] = '2'
s[p2-2] = '%'
p2 = p2-3
p1 = p1-1
else:
s[p2] = s[p1]
p2 = p2-1
p1 = p1-1
return ''.join(s)
思路进化过程:
字符串类型不能直接改变他的某一位的值,例如:s='hello ',s[3]='c’这种语句错误的,要转换为list,然后进行修改。
明天学习大神方法吧