class Solution {
public:
void reverse_k(string& s, int start, int end) {
for(int i = start, j = --end; i < j; i++, j--) {
char tmp = s[i];
s[i] = s[j];
s[j] = tmp;
}
}
string reverseStr(string s, int k) {
for(int i = 0; i < s.size(); i += 2 * k) {
if(i + k <= s.size()) {
reverse_k(s, i, i + k);
} else {
reverse_k(s, i, s.size());
}
}
return s;
}
};