题目描述
请实现一个函数,把字符串中的每个空格替换成”%20”。
你可以假定输入字符串的长度最大是1000。
注意输出字符串的长度可能大于1000。
样例
输入:"We are happy."
输出:"We%20are%20happy."
算法
(线性扫描) $O(n)$
遇到空格替换为 %20
,遇到其他字符拼接字符串
时间复杂度
字符串扫描一遍的时间复杂度为 $O(n)$
C++ 代码
class Solution {
public:
string replaceSpaces(string &str) {
string res;
for (auto x : str)
if (x == ' ') res += "%20";
else res += x;
return res;
}
};