1. 344.反转字符串

class Solution {
public:
void reverseString(vector<char>& s) {
int iRight = s.size() - 1;
int iLeft = 0;
while(iLeft < iRight)
{
char cTmp = s[iLeft];
s[iLeft] = s[iRight];
s[iRight] = cTmp;
iLeft++;
iRight--;
}
}
};
2. 541. 反转字符串II

class Solution {
public:
string reverseStr(string s, int k) {
for(int i = 0;i < s.size(); i += (2 * k))
{
if(i+k <= s.size())
reverse(s.begin()+i, s.begin()+i+k);
else
reverse(s.begin()+i, s.end());
}
return s;
}
};
3. 54. 替换数字(第八期模拟笔试)

#include <iostream>
using namespace std;
int main()
{
string s;
while(cin >> s)
{
int iOldIndex = s.size() - 1;
int iCount = 0;
for(char i : s)
{
if(i > '0' && i < '9')
{
iCount++;
}
}
s.resize(s.size() + iCount * 5);
int iNewIndex = s.size() - 1;
while(iOldIndex >= 0)
{
if(s[iOldIndex] > '0' && s[iOldIndex] < '9')
{
s[iNewIndex--] = 'r';
s[iNewIndex--] = 'e';
s[iNewIndex--] = 'b';
s[iNewIndex--] = 'm';
s[iNewIndex--] = 'u';
s[iNewIndex--] = 'n';
}
else
{
s[iNewIndex--] = s[iOldIndex];
}
iOldIndex--;
}
}
cout << s << endl;
}