题目描述
请实现一个函数,将一个字符串中的每个空格替换成“%20”。例如,当字符串为We Are Happy.则经过替换之后的字符串为We%20Are%20Happy。
题目思路
这个本身可以用python的库函数解决,但是这样做就没有意义了。本题目的难点在于因为遍历的过程中会对字符串的长度进行替换,所以不能简单的进行遍历。我们可以预估一下替换完成后的长度,然后以整个替换完成后的长度进行遍历。值得注意的特殊情况是当最后一个字符串是空格时(这个用例有毒),需要单独拿出来替换。
程序代码
# -*- coding:utf-8 -*-
class Solution:
# s 源字符串
def replaceSpace(self, s):
# write code here
if not s:
return s
i,lgt=0,len(s)+s.count(' ')
while i<lgt:
if s[i]!=' ':
i+=1
else:
s=s[:i]+'%20'+s[i+1:]
i+=3
if s[-1]==' ':
s=s[:-1]
s+='%20'
return s