#实现一个函数,将字符串中的空格替换为"%20" --从后往前移动,提高移动效率
str = "We Are Family"
def ReplaceSpaceInStr(str):
if str is None or len(str) <= 1:
return str
# 得到替换后的字符串长度
space_num = 0
arr1 = []
for i in str:
if i == ' ':
space_num += 1
arr1.append(i)
print(arr1[12])
new_str_len = space_num * 2 + len(str)
# 开始遍历,使用两个指针第一个指向旧字符串的最后位置,第二个指向新字符串的最后位置
p1 = len(str) - 1
p2 = new_str_len - 1
arr = [""]*(p2+1) #创建定长数组
for i in range(p1, -1, -1):
if str[i] == " ":
p1 -= 1
arr[p2] = "0"
arr[p2 - 1] = "2"
arr[p2 - 2] = "%"
p2 -= 3
else:
arr[p2] = arr1[p1]
p1 -= 1
p2 -= 1
return "".join(arr)
print(ReplaceSpaceInStr(str))
字符串替换空格-python
最新推荐文章于 2022-04-19 23:21:36 发布