思路:
这道题的话就是统计一下空格的个数,然后再换成%20的总的字符串长度,采取双指针。从后面开始往前遍历即可,具体看代码。
代码:
class Solution {
public:
string replaceSpace(string s) {
int tmp = 0;
for(auto &i:s){
if(i==' ') ++tmp;
}
int len = s.size() + tmp*2;
int i = s.size()-1;
int j = len-1;
s.resize(len);
while(i>=0){
if(s[i]!=' '){
s[j]=s[i];
--i;
--j;
}else{
--i;
s[j--] ='0';
s[j--] ='2';
s[j--] ='%';
}
}
s[len] = '\0';
return s;
}
};