劍指 Offer 05. 替換空格
劍指 Offer 05. 替換空格
請實現(xiàn)一個函數(shù),把字符串?s
?中的每個空格替換成"%20"。
?
示例 1:
輸入:s = "We are happy."輸出:"We%20are%20happy."
?
限制:
0 <= s 的長度 <= 10000
通過次數(shù)635,932提交次數(shù)843,438
第一種對法:
class?Solution?{
public:
????string?replaceSpace(string?s)?{
????????string?ans;
????????for(auto?a:s){
????????????if(a=='?'){
????????????????ans+="%20";
????????????}else{
????????????????ans+=a;
????????????}
????????}
????????return?ans;
????}
};
第二種對法:
class?Solution?{
public:
????string?replaceSpace(string?s)?{
????????int?count?=?0;
????????int?sOldSize?=?s.size();
????????for(int?i=0;i<s.size();i++){
????????????if(s[i]=='?'){
????????????????count++;
????????????}
????????}
????????s.resize(s.size()+count*2);
????????int?sNewSize?=?s.size();
????????for(int?i?=?sNewSize?-?1,j?=?sOldSize?-?1;j?<?i;i--,j--){
????????????if(s[j]!='?'){
????????????????s[i]?=?s[j];
????????????}else{
????????????????s[i]?=?'0';
????????????????s[i-1]='2';
????????????????s[i-2]='%';
????????????????i-=2;
????????????}
????????}
????????return?s;
????}
};