思路
和《反转字符串》的代码类似,只是每次处理2k个
代码
class Solution {
public:
string reverseStr(string s, int k) {
int length = s.length();
int reverse = 0;
while(reverse < length){
int left, right;
if(reverse + k <= length){
left = reverse, right = reverse + k - 1;
}else{
left = reverse, right = length - 1;
}
while(left < right){
swap(s[left], s[right]);
left++;
right--;
}
reverse += 2*k;
}
return s;
}
};