注:此題考查字串的知識點
思路:先遍歷字串,統計字串的空格數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...