替换空格
请实现一个函数,把字符串 s 中的每个空格替换成"%20"。
示例 1:
输入:s = “We are happy.”
输出:“We%20are%20happy.”
思路
计算空格数,将原数组的长度扩大到size+count*2,双指针从后往前遍历,一个指向原数组,一个指向替换空格后的数组,,当指针相遇则替换完成
string replaceSpace(string s){
int count = 0;
for(auto c : s){
if(c == ' ')
++count;
}
int oldStrSize = s.size();
int newStrSize = oldStrSize + count * 2;
s.resize(newStrSize);
int i == oldStrSize - 1;
int j = newStrSize - 1;
while(i != j){
if(s[i--] == ' '){
s[j] = '0';
s[j - 1] = '2';
s[j - 2] = '%';
j -= 2;
}
--j;
}
return s;
}