请实现一个函数,把字符串 s 中的每个空格替换成"%20"。
示例 1:
输入:s = "We are happy."
输出:"We%20are%20happy."
限制:
0 <= s 的长度 <= 10000
计算空格数量将s扩容为最终大小,从后往前遍历赋值
class Solution {
public:
string replaceSpace(string s) {
int spaceCount = 0;
int j = s.size()-1;
for(int i = 0; i < s.size(); i++) {
if (s[i] == ' ') {
spaceCount++;
}
}
s.resize(s.size()+spaceCount*2, '0');
for(int i = s.size()-1; j >=0; ) {
if (s[j] != ' ') {
s[i--] = s[j--];
} else {
s[i--] = '0';
s[i--] = '2';
s[i--] = '%';
j--;
}
}
return s;
}
};