劍指offer Python版 - 替換空格
阿新 • • 發佈:2018-11-20
題目描述
請實現一個函式,將一個字串中的空格替換成“%20”。例如,當字串為We Are Happy.則經過替換之後的字串為We%20Are%20Happy。問題1:替換字串,是在原來的字串上做替換,還是可以重新定義一個字串做替換:
問題2:從前往後替換和從後往前替換一樣嗎?
方法1:
從左往右遍歷元素,若當前元素為空格,則插入“%20”, 並將字串長度增加3. 時間複雜度O(n * n).
# -*- coding:utf-8 -*-
class Solution:
# s 源字串
def replaceSpace(self, s):
# write code here
position = 0
while position < len(s):
if s[position] == ' ':
s = s[:position] + '%20' + s[position + 1:]
position += 3
else:
position += 1
return s
執行時間:23ms
佔用記憶體:5736k
方法2:
時間複雜度O(n * n)# -*- coding:utf-8 -*-
class Solution:
# s 源字串
def replaceSpace(self, s):
# write code here
s = list(s)
for i in range(len(s)):
if s[i] == ' ':
s[i] = '%20'
return ''.join(s)
執行時間:23ms
佔用記憶體:5736k