
【题解】
相隔2k,所以 i+=(2*k)
i + k <= s.size(),说明剩余字符小于2K,却>k或=k,反转前k个字符。
使用reverse()反转字符串
class Solution {
public:
string reverseStr(string s, int k) {
for(int i =0; i <s.size(); i+=(2*k)){
if(i + k <= s.size()){//如果剩余字符小于 2k 但大于或等于 k 个,则反转前 k 个字符
reverse(s.begin()+i, s.begin()+i+k);
continue;
}
reverse(s.begin()+i,s.end());//如果剩余字符少于 k 个,则将剩余字符全部反转
}
return s;
}
};