劍指offer5 替換空格

2021-09-22 07:54:27 字數 1097 閱讀 5550

請實現乙個函式,把字串中的每個空格替換成"%20"。

你可以假定輸入字串的長度最大是1000。

注意輸出字串的長度可能大於1000。

樣例

思路

1、思路簡單,看**就懂,碰到空格就替換,python的話也可以直接用str.replace(" 「, " %20」);

2、若是用陣列或者c語言,這一類,需要先遍歷一遍陣列,計算出有多少個空格,然後從固定的位置從後往前遍歷陣列,碰到空格的時候替換為「%20」。

acwing-16 c++ code

class

solution

else

}return res;}}

;

牛客網 c++ code :

class

solution

}int right_index = space_count *

2+ length -1;

for(

int i = length -

1; i >=

0; i--

)else}}

};

acwing-16 python code

class

solution

(object):

defreplacespaces

(self, s)

:"""

:type s: str

:rtype: str

"""res =

"" n =

len(s)

for i in

range

(n):

if s[i]

==' '

: res +=

"%20"

else

: res += s[i]

return res

劍指offer 5 替換空格

首先遍歷一次字串,記錄字串的實際長度,和空格數目,接著計算出替換後新字串的長度,然後用兩個指標p和q分別指向原字串尾位址和新字串的尾位址,倒序遍歷,遇到空格就讓q向前走三步,否則就讓q p,直到p走到頭。時間複雜度 o n class solution int changelength origin...

劍指offer 5 替換空格

思路1 思路2 1 先遍歷一次字串,這樣就能統計出字串中空格的總數,並可以由此計算出替換之後的字串的總長度。2 從字串的後面開始複製和替換。準備兩個指標,p1和p2。p1指向原始字串的末尾,而p2指向替換之後的字串的末尾。接下來向前移動指標p1,逐個把它指向的字元複製到p2指向的位置,直到碰到第乙個...

劍指Offer 5 替換空格

nowcode 將乙個字串中的空格替換成 20 input a b output a 20b 在字串尾部填充任意字元,使得字串的長度等於替換之後的長度。因為乙個空格要替換成三個字元 20 因此當遍歷到乙個空格時,需要在尾部填充兩個任意字元。令 p1 指向字串原來的末尾位置,p2 指向字串現在的末尾位...