比较简单,直接放代码,注意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; } };