描述
请实现一个函数,将一个字符串s中的每个空格替换成“%20”。
例如,当字符串为We Are Happy.则经过替换之后的字符串为We%20Are%20Happy。
数据范围
0<=len(s)<=1000。保证字符串中的字符为大写英文字母、小写英文字母和空格中的一种。
解法 1 - 充分利用标准库、代码较少
string replaceSpace(string s) {
unsigned long pos;
while((pos = s.find(" ")) != string::npos)
s.replace(pos, 1, "%20");
return s;
}
知识点:string
的 replace
、find
的用法
缺点:时间复杂度为 O(n2)
解法 2 - 相对传统的解法
string replaceSpace(string s) {
string res;
for(auto c : s)
{
if(c == ' ')
res += "%20";
else
res += c;
}
return res;
}