题目
将字符串中的每个空格都替换为“%20”
虽然我的代码不是这么写的,但是还是来记录下这个题的算法思路:
We are happy
如果从头找的话,每次找到一个插入三个,这样数组要不断往后挪,移动占了时间太长,所以从后往前找,先计算出总共的长度,如上给出的字符串,原来的长度是12,替换后的就是18,数组从后往前走,先从18开始放,遇到空格则依次放入 0
2
%
再往前遍历并放入
大概写了一下,没有运行,也肯定有错误
length = len(list)
j = length + num_black * 2
char temp = [j]
for(i= length-1;i>=0;i--){
if( a[i] != ' '){
temp[j--] = a[i]
}
else{
temp[j--] = '0'
temp[j--] = '2'
temp[j--] = '%'
}
}
下面是python代码,我感觉是欺负人····😆
def replaceString(s):
return a.replace(' ','%20')
为了证明我真的有做个这个题,所以我又写了一个版本
s = 'We are happy'
list = [x for x in s]
for i in range(0,len(list)):
if list[i] == ' ':
list[i] = '%20'
a = ''
b = a.join(list)
print b