题目:
请实现一个函数,把字符串 s 中的每个空格替换成"%20"。
示例 1:
输入:s = “We are happy.”
输出:“We%20are%20happy.”
#include<iostream>
#include<vector>
#include<unordered_map>
using namespace std;
class Solution {
public:
/*
要点1: 修改s的长度
s.resize(new_Size + 1);
*/
string replaceSpace(string s)
{
int count = 0;
int s_Size = s.size()-1;
//string news;
for (auto it : s)
{
if (it == ' ')
{
++count;
}
}
int new_Size = s_Size + count * 2;
//修改s的长度
s.resize(new_Size + 1);
for (int i = s_Size; i >= 0; --i)
{
if (s[i] == ' ')
{
s[new_Size] = '0';
s[new_Size-1] = '2';
s[new_Size-2] = '%';
new_Size = new_Size - 3;
}
else
{
s[new_Size] = s[i];
--new_Size;
}
}
return s;
}
};
int main()
{
vector<int> nums{ 2, 3, 1, 0, 2, 5 };
Solution s1;
string s = " ";
s1.replaceSpace(s);
return 0;
}