输入:"Mr John Smith ", 13
输出:"Mr%20John%20Smith"
输入:" ", 5
输出:"%20%20%20%20%20"
方法一:列表+判断
思路:建立一个空列表,循环判断列表中空格字符串,并替换,可以避免字符串长度问题。
# 列表+判断
class Solution:
def replaceSpaces(self, S: str, length: int) -> str:
s_list = list(S[:length])
ans = []
for i in range(len(s_list)):
if s_list[i] == ' ':
ans.append('%20')
else:
ans.append(s_list[i])
return (''.join(ans))
方法二:字符串+判断
思路:建立一个空字符串,循环判断原字符串,若是空格则添加 "%20" ,若不是则添加原有字符串。
# 字符串+判断
class Solution:
def replaceSpaces(self, S: str, length: int) -> str:
ans = ''
i = 0
while i < length:
if S[i] == ' ':
ans += '%20'
else:
ans += S[i]
i += 1
return ans