方法
一、二**於牛客網;方法
三、四**於leecode
.
**方法一:**字串陣列
class
solution
for(
int j = length -
1; j >=0;
--j)}}
};
**方法二:**字串陣列轉換成string,使用string成員函式
先轉為string,然後處理完成後再轉為const char *(指向字串陣列的指標)。但不是以返回值的形式,還要利用好原來的空間,用strcpy實現之。處理過程迴圈查詢,每次找到就替換,且把每次的找到的結果當成下一次的引數,避免重複從頭查詢。
class
solution
auto ret=s.
c_str()
;//c_str()函式返回乙個指向正規c字串的指標, 內容與本string串相同.,這是為了與c語言相容,在c語言中沒有string型別,故必須通過string類物件的成員函式c_str()把string 物件轉換成c中的字串樣式。
//auto 讓編譯器根據初始值s.c_str的型別推斷ret的型別,此處為 const char *指標
strcpy
(str,ret)
;//strcpy(str,s.c_str);替換前面兩句}}
;
class
solution
//for(auto s1 : s)
//int newlen = s.size() + 2 * count;
//int originend = s.size() - 1,newend = newlen - 1;
//while(originend >= 0 && newend > originend)
// else
// --originend;
//}for
(int i = s.
size()
-1; i >=0;
--i)
}return s;}}
;
class
solution
//for(char s1 : s)
// if(s1 == ' ')
// s += "00";
int len2 = s.
size()
-1;//if (len2 <= len1)
// return s;
for(
int i = len1; i >=0;
--i)
}return s;}}
;
class
solution
return res;}}
;
面試題5 替換空格
面試題5 替換空格 解題思路 遍歷字串,求出公有多少個字元,和有多少個空格 因為要將空格替換成 20 意味著乙個空格要增加兩個長度。所以新的字元長度為 原有長度 空格長度 2 這是乙個指標p1,放在久長度尾部,p2,放在新長度尾部。將p1指向的字元移動到p2指向的位置,若字元為空格,則替換成 20 ...
面試題5 替換空格
題目 請實現乙個函式,把字串 s 中的每個空格替換成 20 示例 思路1 把字串儲存到陣列中處理,稍微麻煩一點。1 void replacespace char str,int length newlength oldlength 2 count if newlength length 長度超過總長...
面試題5 替換空格
1.考慮特殊輸入,空串 單空格 多空格,測試用例 2.考慮輸入字串無空格,測試用例 string 3.考慮正例輸入,字串前 中 後存在空格 單多空格 測試用例 hello world 1 str str.replace 20 對整個字串進行從左至右遍歷,遇到空格進行替換 若為字元陣列,需要向後移位,...