Python编程日记001
一些前言
没有想到有一天,我会开始在CSDN上记录编程学习的日记,但是一旦开始却也觉得内心饱满。目标是每日三道题,记录一些感想和小白的错点,可能也会因为实验室的工作而完不成目标,但是梦想总是要有的。不管能不能成为一名程序员,解决问题的心和付出的努力是不能少的。
剑指Offer——替换空格
题目描述
请实现一个函数,将一个字符串中的每个空格替换成“%20”。例如,当字符串为We Are Happy.则经过替换之后的字符串为We%20Are%20Happy。
// 代码
String=input()
numberofblank=0
i=0
for i in range(len(String)):#python中字符串没有结束字符
if (String[i]==' '):
numberofblank=numberofblank+1
newlength=len(String)+numberofblank*2
indexoforiginal=len(String)-1
indexofnew=newlength-1
newstring=list(String)+[0]*numberofblank*2
while(indexoforiginal!=indexofnew):
if(newstring[indexoforiginal]==' '):
newstring[indexofnew]='0'
newstring[indexofnew-1]='2'
newstring[indexofnew-2] = '%'
indexofnew=indexofnew-3
else:
newstring[indexofnew]=newstring[indexoforiginal]
indexofnew = indexofnew - 1
indexoforiginal=indexoforiginal-1
print(newstring)#(是['a','%','2']这样逗号隔开的)
print('"'+''.join(newstring)+'"')
这个代码在Pycharm上运行成功,但是在牛客网上测试不通过。说是没有实现输出的字符串带双引号,这个问题目前还没有解决。
这个题目的思想主要还是从后向前遍历数组,发现空格就插入% 2 0。