
【题解】
统计空格个数
扩展字符串长度
定义双指针,将空格替换成%20

class Solution {
public:
string replaceSpace(string s) {
int count = 0;//空格的个数
int oldsize = s.size();//旧址字符串长度
for(int i=0; i<s.size(); i++){//遍历字符串找到空格个数统计
if(s[i] == ' ') count++;
}
s.resize(s.size()+2*count);//扩展字符串长度,因为是插入%20,原本需要六个格,但是由于加上原本的空格,只需要扩展空格3一个空格扩展2个就可以
int newsize = s.size();//新字符串长度
//从后往前遍历,定义双指针,将空格替换为"%20"
for(int i=oldsize-1, j=newsize-1; i<j; i--, j--){
if(s[i] != ' '){
s[j]=s[i];
}else{
s[j] = '0';
s[j-1] = '2';
s[j-2] = '%';
j-=2;
}
}
return s;
}
};