劍指Offer 2 替換空格

2021-08-08 04:42:54 字數 661 閱讀 6327

題目描述:

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...