考点
- 当需要一段一段处理字符串的时候,不要i++,而是直接处理这一段
- for循环也可以i++的同时j–
#include <vector>
#include <string>
using namespace std;
class Solution {
public:
void reverse(string& s, int start, int end)
{
for(int i=start, j=end; i<j; i++, j--)
{
swap(s[i],s[j]);
}
}
string reverseStr(string s, int k)
{
for(int i=0; i<s.size(); i+=(2*k))
{
if(i+k <= s.size())
{
reverse(s,i,i+k-1);
continue;
}
reverse(s,i,s.size()-1);
}
return s;
}
};