1. 请实现一个函数,把字符串 s
中的每个空格替换成"%20"。
class Solution
{
public:
string replaceSpace(string s)
{
int count = 0;
int Oldsize = s.size();
for (int i = 0; i < s.size(); i++)
{
if (s[i] == ' ')
{
count++;
}
}
s.resize(s.size() + 2 * count);
int Newsize = s.size();
for (int i = Oldsize - 1, j = Newsize-1; j > i; j--, i--)
{
if (s[i] != '')
{
s[j] = s[i];
}
else
{
s[j] = '0';
s[j - 1] = '2';
s[j - 2] = '%';
j = j - 2;
}
}
return s;
}
};
2. 字符串的左旋转操作是把字符串前面的若干个字符转移到字符串的尾部。请定义一个函数实现字符串左旋转操作的功能。比如,输入字符串"abcdefg"和数字2,该函数将返回左旋转两位得到的结果"cdefgab"。
class Solution
{
public:
string reverseLeftWords(string s,int n)
{
reverse(s.begin(), s.begin() + n);
reverse(s.begin() + n, s.end());
reverse(s.begin(), s.end());
return s;
}
};