AcWing 16. 替换空格
原题链接
简单
作者:
Nan97
,
2021-04-07 19:59:41
,
所有人可见
,
阅读 282
大神写法
class Solution {
public:
string replaceSpaces(string &str) {
size_t t;
while((t=str.find(' '))!=string::npos){
str.replace(t,1,"%20");
}
return str;
}
};
算法 1
class Solution {
public:
string replaceSpaces(string &str) {
string x;
for(auto c : str) {
if(c == ' ') x += "%20";
else x += c;
}
return x;
}
};
算法 2
class Solution {
public:
string replaceSpaces(string &str) {
int len = 0;
for(auto c : str)
if(c == ' ') len += 3;
else len ++;
int i = str.size() - 1 , j = len - 1;
str.resize(len);
while(i >= 0) {
if(str[i] == ' ') {
str[j -- ] = '0';
str[j -- ] = '2';
str[j -- ] = '%';
}
else str[j -- ] = str[i];
i --;
}
return str;
}
};