劍指offer刷題 05 替換字串

2021-08-20 19:17:24 字數 469 閱讀 4956

注:此題考查字串的知識點

思路:先遍歷字串,統計字串的空格數cntblank並計算字串長度strlength,替換後的字串長度len=strlength+2*cntblank;接下來,從後往前開始複製和替換,用兩個指標*pstr1-——指向原字串的末尾和*pstr2——指向替換字串的末尾,若遇到空格即*pstr1==' ',執行替換:*pstr2--='0';*pstr2--='2',*pstr2--='%';若不是空格,則直接複製*pstr2--=*pstr1;直到兩個指標相遇。(源於劍指offer)

class solution

int len=strlength+2*cntblank;

if(len>length)

return;

//字串替換和複製

char*pstr1=str+strlength;

char*pstr2=str+len;

while(pstr1

劍指offer刷題(二)替換空格

題目思路1 建立新字串 建立乙個新字串ss,遍歷原字串,如果遇到空格則將 20 加入新字串,否則將遍歷到的非空字元加入新字串ss class solution s 源字串 defreplacespace self,s ss for i in s if i ss 20 else ss i return...

劍指Offer刷題 2 替換空格

基本思路 void replacespace char str,int length else cout result endl 踩坑 1.考慮邊界條件,即當字串為空時的情況,其實可用一行python 實現 class solution s 源字串 def replacespace self,s w...

劍指offer刷題

面試題6 從尾到頭列印鍊錶 struct listnode class solution reverse res.begin res.end return res 替換空格class solution int newnumstr numstr numspace 2 if newnumstr leng...