面試題4:替換空格
提交**:
參與人數:10327 時間限制:1秒 空間限制:32768k
本題知識點:字串
分析:ac**
檔名: aimedatoffer-replacespace.cpp
[cpp]view plain
copy
#include
#include
#include
using
namespace
std;
class
solution
} newlen = idx + 2*spacecount;
if(newlen > length)
return
; str[newlen]='\0'
; //此行很關鍵
intfrontcur = idx - 1, backcur = newlen-1;
for(; frontcur >= 0 && backcur > frontcur; frontcur--)
else
str[backcur--] = str[frontcur];
} }
};
// 以下為測試部分
/*int main()*/
面試題4 替換空格
面試題4 實現乙個函式,把字串中的空格替換成 20 從前向後移動時,假如字串的長度為n。對於每個空格字元,需要移動後面o n 個字元,對含有o n 個空格字元的字串而言總的時間效率是o n n 從後向前移動時,所有的字元只需要複製一次,時間效率為o n void replaceblank char ...
面試題4 替換空格
注 圖中帶陰影的區域表示被移動的字元。a 把第乙個指標指向字串的結尾,把第二個指標指向替換後的字串的末尾。b 依次複製字串的內容,直至第乙個指標碰到第乙個空格。c 把第乙個空格替換成 20 把第乙個指標向前移動1格,把第二個指標向前移動3格。d 依次向前複製字串中的字元,直至碰到空格。e 替換字串中...
面試題4 替換空格
題目 請實現乙個函式,把字串中的每個空格替換成 20 要求 在原來的字串上做替換,並保證輸入的字串後面有足夠的空餘記憶體,常數空間複雜度。include using namespace std void replaceblank char string,int maxlength int newle...