左旋转字符串
C++,字符串。
有一个很简单的道理, 就是XY变成YX,可以先XY翻转,然后再XY分别翻转,这个过程脑补非常简单。同理XY先分别翻转,然后再整体翻转也是可以的。
class Solution {
public:
string LeftRotateString(string str, int n) {
if (str.empty()) return str;
int k = n % str.length();
reverse(str.begin(), str.begin() + k);
reverse(str.begin() + k, str.end());
reverse(str.begin(), str.end());
return str;
}
};