把字串中的空格替換為 20

2021-09-08 23:18:56 字數 375 閱讀 7555

這個需要注意的是字串的結尾最後乙個字元為'\0',並不是空字元,複製時要一塊複製,演算法思想就是先計算出字串中總的空格數,然後

重新計算字串的長度,由於"%20"為3個字元,比原來多2個,所以,字串長度是原來字串長度加上空格字元總數×2,就是新的字串的長度。

**如下:

#include #include using namespace std;

void strreplace(char str,int length)

else

}} int main()

{ int length=13;

cout<

cout執行結果:

替換字串中的空格為 20

如果按照基本的思路從前到後遍歷字串,每次識別到空格後面的字元就要往後移動兩個位。因此用從後向前的方式 先計算出替換後的陣列的長度。設定兩個指標乙個指向新陣列的尾部,另乙個指向原來陣列的尾部。直到兩個指標的數值相同時表示遍歷完成。如下。include include include include i...

劍指offer 將字串中的空格替換為20

include include include include include include include include include include using namespace std 將字串中的空格替換成20 從後往前替換,遇到空格就替換為20 同時指向替換後字串的指標向前移動3個位...

字串中的替換空格

題目 把字串中的每個空格替換成 20 思路 直觀的做法是從頭到尾掃瞄字串,遇到空格就做替換,然而由於將乙個字元替換成3個字元,我們必須將空格後面的所有字元都後移兩個位元組。這樣沒次遇到空格,都會移動字元。對於這種問題,當字串 或陣列 長度變大,從前往後操作時移動次數多時,可以考慮從後往前操作。ps ...