解題思路:
從前往後遍歷
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...