題目描述:
python**實現:
# -*- coding:utf-8 -*-
class solution:
# s 源字串
def replacespace(self, s):
# write code here
count = 0
for val in s:
if val == " ":
count += 1
s_new = [""]*(len(s) + count * 2)
index = len(s_new) - 1
for val in s[::-1]:
if val == " ":
s_new[index] = '0'
s_new[index-1] = '2'
s_new[index-2] = '%'
index -= 3
else:
s_new[index] = val
index -= 1
return "".join(s_new)
解析:這道題在python中做起來沒有考察點,主要是考慮新字串的大小,從後往前移動字元,如果s是陣列且長度足夠大的話,可以在陣列內部移動,每個字元最多隻需要移動一次
劍指offer(2) 替換空格
假設面試官讓我們在原來的字串上做替換。時間複雜度為o n 的解法。我們可以先遍歷一遍字串,這樣就能統計出字串中空格的總數,並可以由此計算出替換之後的字串的總長度。每替換乙個空格,長度增加2,因此替換以後字串的長度等於原來的長度加上2乘以空格數目。length為牛客系統規定字串輸出的最大長度,固定為乙...
劍指offer 2 替換空格
請實現乙個函式,將乙個字串中的空格替換成 20 usr bin env python coding utf 8 created by xuehz on 2017 8 7 class solution s 源字串 defreplacespace self,s write code here if ty...
劍指offer 2 替換空格
1.能不能允許連續出現多個空格?2.若有可能連續多個空格,用多個還是單個20 進行替換?1.不會出現連續多個空格 直接用空格將字串切割成陣列,在用20 進行連線。function replacespace str 2.允許出現多個空格,每個空格均用乙個20 替換 用正規表示式找到所有空格依次替換 f...