/*題目要求:
替換空格。
演算法解析:
字串長度為14.
先計算有多少個空格,測試字串為2個。這樣總長度為18.
從最後乙個字元向後移動,注意控制指標,空格是1個字元,%20是三個。
*/#include
void replacestr(char
str)
//printf("%d\n",count_space);
int p1 =str_length;
int p2 = str_length + count_space * 2
; printf(
"%d, %d\n
", p1, p2);
while (p1 != p2 || p1 < 0
)
str[p2--] = '0'
; str[p2--] = '2'
; str[p2--] = '%'
; p1--;
}}int
main()
4 替換空格
首先要看輸入是什麼 書上的輸入是char string leetcode的是string string class solution else return array 書 class solution original length為字串str的實際長度 int original length 0...
面試題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 替換字串中...