字串替換空格

2021-09-24 09:21:11 字數 606 閱讀 1636

思路:

從字串的後面開始插入替換字元;

首先遍歷整個字串得到插入後的總長度和空格的個數,再用兩個指標分別指向:p1指向替換前字串的末尾,p2指向替換後字串的末尾;

當p1指向不是空格時,將其內容插入p2所在記憶體;

當p1指向空格,用字元『%20』插入;

當p1==p2,或p1指向字串頭時(所有空格均已替換),則結束迴圈。

實現**如下:

void replaceblank(char str,int length)

int newlength=originallength+2*numberofblank;

if(newlength>length)

return;

int idxoforiginal=origiallength;

int idxofnew=newlength;

while(idxoforiginal>=0&&idxofnew>idxoforiginal)

else

str[idxofnew--]=str[idxoforiginal];

--idxoforiginal; }

}

字串替換空格

點 抽象問題簡化問題 題意 乙個字串,比如 aaa baea erwe dsa dsa f a 替換其中的空格字元為 20 劍指offer面試題4 思路 這個問題的點在於,如果正常從頭到尾替換的話,每乙個被替換空格,它後面的全部字串都需要做整體移動 所以要設法想出,怎麼能夠減少字串移動 非空格字元需...

替換空格(字串)

思路一 利用string類的replaceall方法 public class solution 思路二 將字串轉換為字元陣列 建立乙個新的stringbuffer的物件,遍歷字元陣列,將不為空格的字元直接存入 當遇到空格時,存入 20 public class solution return st...

字串 替換空格

方法 從後往前替換,先求出字串總長度 空格數 新字串長度,然後兩個指標分別指向原始字串末尾和新字串末尾,依次替換,遇到空格時則替換為 0 2 include includevoid replaceblank char string,int length int newlength originall...