- 分析
思路比较简单,需要注意的是string的长度可能小于k - 代码
class Solution {
public:
string reverseStr(string s, int k) {
int len = s.length();
int i = 0;
while(i < len){
int num = 0;
while(i < len && i / k % 2 == 0){
i++;
num++;
}
if(i == len){
//处理sting长度小于k的部分
reverse(s.begin() + i - num, s.begin() + i);
}
else{
reverse(s.begin() + i - k, s.begin() + i);
}
while(i < len && i / k % 2 == 1) i++;
}
return s;
}
};