剑指 Offer 05. 替换空格
简单
请实现一个函数,把字符串 s
中的每个空格替换成"%20"。
示例 1:
输入:s = "We are happy." 输出:"We%20are%20happy."
限制:
0 <= s 的长度 <= 10000
class Solution {
public:
string replaceSpace(string s) {
int n=0;
int k=s.size();
for(int i=0;i<s.size();i++){
if(s[i]==' '){
n++;
}
}
if(n==0){
return s;
}
//注意点:必须把原有的字符串长度扩长,不然怎么高都是越界
for(int i=1;i<=n;i++){
s+="00";
}
int m=s.size()-1;
for(int i=k-1;i>=0;i--){
if(s[i]!=' '){
s[m--]=s[i];
}
else{
s[m--]='0';
s[m--]='2';
s[m--]='%';
}
}
return s;
}
};