class Solution { public: stringreverseStr(string s, int k){ int index = 0; int range = 2 * k; while(index < s.length()) { reverse(s, index, min(index + k - 1, int(s.length() - 1))); index += range; } return s; }
private: voidreverse(string& s, int start, int end){ while(start < end) { swap(s[start++], s[end--]); } } voidswap(char& a, char& b){ char temp = a; a = b; b = temp; } };