文章目录
题目
代码(7.28 首刷自解)
三次反转,非常耗时
class Solution {
public:
string reverseLeftWords(string s, int n) {
reverse(s.begin(), s.end());
int k = s.size() - n;
reverse(s.begin(), s.begin()+k);
reverse(s.begin()+k, s.end());
return s;
}
};
取余
class Solution {
public:
string reverseLeftWords(string s, int n) {
int len = s.size();
string res(s);
for(int i = 0; i < len; ++i) {
res[(i+len-n)%len] = s[i];
}
return res;
}
};