將空格用 20替換

2021-07-11 15:10:13 字數 605 閱讀 8117

#include

using namespace std;

class

solution

//求空格數

for(i = 0;iif(str[i] == ' ')

count++;

}//新陣列的長度,但若str只有length個空間那麼直接使用就會發生陣列越界,根據題意str不止那麼一點空間,

length = count*2+length;

for(i = 0;i//k始終指向的是陣列的最後乙個元素,即使這個陣列允許的座標範圍沒k大

k = length; //所以唯一可能的問題就是陣列越界

//這句將每乙個空格後的元素後移兩位,並該空格為 %20

if(str[i] == ' ')

str[i]='%';

str[i+1]='2';

str[i+2]='0';}}

}public:

//乙個函式的功能應該是單一的

void print(char *str,int length)

for(i = 0;istr[i];

}cout

空格替換 20

思路 採用雙指標操作,將乙個指標指向字串的末尾後面的 0 另乙個指標指向替換之後的 0 位置然後替換就好的 當兩個指標的位置相等的時候也就說明所有的空格替換完畢,並且兩個指標同時指向字串的首位址。include include define m 100 intmain int argc,const ...

空格使用20 進行替換

題目 給乙個字串,將中間的空格用 20 進行替換 replace blank.cpp offer test created by caixiao on 2017 8 6.include include include using namespace std string rep bla string...

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

將乙個字串中的所有空格替換成 20 最直觀的做法是從頭到尾掃瞄字串,然後每次碰到空格時便替換,並將空格後面所有的字元向後移兩個位元組。假設字串長度為n,對每個空格字元,需要移動後面o n 個字元,因此對含有n個空格的字串而言總的時間效率是o n 2 時間複雜度達到n平方,說明程式效率並不高,因此可以...