题意描述:
请实现一个函数,把字符串 s
中的每个空格替换成"%20"。
利用双指针法,首先记录字符串的空格数,之后定义一个长度等于先前字符串长度的常量,对字符串填充长度后,记录新的字符串长度,并赋值给一个常量。
C++代码如下:
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() + count * 2);
int newsize = s.size();
for(int i = newsize - 1, j = oldsize - 1; j < i; i--, j--){
if(s[j] != ' '){
s[i] = s[j];
}
else{
s[i] = '0';
s[i - 1] = '2';
s[i - 2] = '%';
i -= 2;
}
}
return s;
}
};