两种简单的解决方案:
- 循环,遇到空格就替换插入
- 创建一个新的字符串,循环旧的,往新字符串中追加
c++
insert实现
class Solution {
public:
string replaceSpace(string s) {
// write code here
for(int i=0; i<s.size(); i++){
if(s[i] == ' '){
s[i] = '%';
s.insert(i+1, "20");
}
}
return s;
}
};
append和push_back实现
class Solution {
public:
string replaceSpace(string s) {
// write code here
string res;
for(const char c : s){
if(c == ' '){
res.append("%20");
}else{
res.push_back(c);
}
}
return res;
}
};