比较简单,直接放代码,注意string的用法即可。
class Solution {
public:
string reverseStr(string s, int k) {
int len = s.size();
int n = 2 * k;
string res;
while(len >= 2 * k){
string sub1 = reverseFullStr(s.substr(s.size()-len,k));
string sub2 = s.substr(s.size()-len+k,k);
len -= (2 * k);
res.append(sub1).append(sub2);
}
if(len > k){
string sub1 = reverseFullStr(s.substr(s.size()-len,k));
string sub2 = s.substr(s.size()-len+k,len-k);
res.append(sub1).append(sub2);
}else if(len > 0){
string sub = reverseFullStr(s.substr(s.size()-len,len));
res.append(sub);
}
return res;
}
string reverseFullStr(string s){
int len = s.size();
string t = "";
t.resize(len);
for(int i = 0; i < len; ++ i){
t[i] = s[len - 1 - i];
}
return t;
}
};