面試題4 替換空格

2021-07-27 07:34:31 字數 684 閱讀 6492

面試題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...