题目
请实现一个函数,把字符串 s 中的每个空格替换成"%20"。
示例 1:
输入:s = “We are happy.”
输出:“We%20are%20happy.”
思路
解法1
这题第一想到的应该就是replace函数,先用find函数找到空格,在替换,主要空格可能不止一个,需要循环找出。
class Solution {
public:
string replaceSpace(string s) {
while(s.find(" “)!=-1){
s = s.replace(s.find(” “),1,”%20");
}
return s;
}
};
解法2
参考了解答里的一个算法,利用增强型for循环,对每个字符进行验证,如果是空格,在改为%20加入新字符串,否则将原字符加入新字符串。
class Solution {
public:
string replaceSpace(string s) {
string ans;
for(auto c:s){
if(c == ’ ')
ans += “%20”;
else
ans += c;
}
return ans;
}
};