请实现一个函数,把字符串 s 中的每个空格替换成"%20"。
示例 1:
输入:s = "We are happy."
输出:"We%20are%20happy."
限制:
0 <= s 的长度 <= 10000
思路:python java语言都可以调用replace函数,c++也可使用正则表达式直接返回
return std::regex_replace(s, std::regex(" "), "%20");
但如果是笔试面试,还是给出一种朴实写法,c++解法如下:
class Solution {
public:
string replaceSpace(string s) {
string ans;
for(char &c : s)
if(c == ' ')
{
ans += "%20";
}
else
ans += c;
return ans;
}
};
1、for(char &c : s)是C++中的一个循环语句,用于遍历字符串或字符数组。 在这个语句中,s
是要遍历的字符串或字符数组,而char &c
是一个变量,表示每次循环中当前遍历到的字符。通过引用(&
)声明,可以修改字符的值
2、c++在字符串后面追加字符串, ans += "%20" 这里追加的字符串若长度大于一个字符,要使用" "