劍指offer筆記(2) 替換空格

2021-09-03 01:20:08 字數 1273 閱讀 7646

本題中需要我們將空格字元替換成"%20"的形式,那麼我們首先需要注意的店便是:這是乙個字串,那麼我們自然而然會去想到字串的方法:

這裡推薦去看指令碼之家的python 字串操作方法大全

我也在這裡總結一下,因為有些我也快忘了,畫了乙個簡易版的思維導圖:

雖然並沒有總結全,但那麼本題中我用到的方法就是畫紅框的部分。

既然題目給的是字串,那麼我們可以用replace直接替換,replace的作用可以直接返回乙個字串,正好滿足於要求:

# -*- coding:utf-8 -*-

class

solution

:# s 源字串

defreplacespace

(self, s)

:# write code here

return s.replace(

" ",

"%20"

)

因為字串是不可變型別,那麼我們想要在其本身通過新增或者賦值將某一部分改變都是行不通的,所以需要有乙個中介軟體,這裡有兩種,一種是通過另乙個空的字串,原來的拆成單個字元後,可以用直接賦值的方式,加進新字串裡。另外一種就是通過列表來實現,split和join組合起來。

# -*- coding:utf-8 -*-

class

solution

:# s 源字串

defreplacespace

(self, s)

: s1=

""for i in s:

if i==

" ":

i="%20"

s1+=i

return s1

另外一種就是通過列表了:

class

solution

: # s 源字串

def replacespace

(self, s)

: s =

list

(s)for i in

range

(len

(s))

:if s[i]

==" "

: s[i]

="%20"

return"".

join

(s)

劍指offer 空格替換 2

public class solution 方法二 新建stringbuffer拼接 public class solution else return result.tostring 附加 string 字串常量 string的值是可變的,每次的操作都會建立新的物件,很浪費空間。stringbuf...

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