劍指offer 2 替換空格

2021-09-13 02:34:46 字數 699 閱讀 4318

解題思路:

從前往後遍歷

1、遇到空格新增"%20",其他情況直接加進去

public class solution 

/*original_length為字串str的實際長度*/

int original_length = 0; //原始長度

int number_blank = 0; //空格數

int i;

while(str[i++] != '\0')

}/*new_length為把空格替換成'%20'之後的長度*/

int new_length = original_length + 2 * number_blank;

int index_original = original_length-1; //原始字串末尾索引值

int index_new = new_length-1; //計算長度後的字串末尾索引值

/*index_original指標開始向前移動,如果遇到空格,替換成'%20',否則進行複製操作*/

while(index_original >= 0 && index_new > index_original)

else

--index_original;}}

};

劍指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 替換空格

題目描述 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...