劍指Offer 替換空格 5

2022-01-29 18:11:52 字數 437 閱讀 5002

在字串後任意填充字元,使得字串替換前的長度=替換後的長度,例如上面這個例子,替換前長度為12,替換後的長度為16,所以在原來字串的基礎上填充2位.

p1指向填充前的末尾,p2指向填充後的末尾:

然後p1,p2一起前移,如果p1不是空格,則p2=p1;如果p1是空格,則p2依次輸入"02%"

1

public

class

solution

8int p2 = str.length()-1;

9while(p1>=0 && p2>p1)else18}

19return

str.tostring();20}

21 }

劍指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指向的位置,直到碰到第乙個...

劍指offer5 替換空格

請實現乙個函式,把字串中的每個空格替換成 20 你可以假定輸入字串的長度最大是1000。注意輸出字串的長度可能大於1000。樣例 思路 1 思路簡單,看 就懂,碰到空格就替換,python的話也可以直接用str.replace 20 2 若是用陣列或者c語言,這一類,需要先遍歷一遍陣列,計算出有多少...