剑指心得
第二题
请实现一个函数,将一个字符串中的每个空格替换成“%20”。
例如,当字符串为We Are Happy.则经过替换之后的字符串为We%20Are%20Happy。
版本1:
class Solution:
def replaceSpace(self, s):
str_lst = s.split(' ')
return '%20'.join(str_lst)
思路:
1.使用 str.split() 分割字符串
2.’’.join(lst)连接字符串序列
结果: best 5.94% 6.80% …
版本2:
思路:二分法查找
class Solution:
def binary_sarch(self, obj, start, end):
if start > end:
return
temp = int((end + start) / 2)
if obj[temp] == ' ':
obj[temp] = '%20'
binary_sarch(obj, start, temp - 1)
binary_sarch(obj, temp + 1, end)
def replaceSpace(self, s):
n = len(s)
obj = list(s)
self.binary_sarch(obj, 0, n - 1)
return ''.join(obj)