左旋转字符串

你快乐吗?

Posted by bbkgl on September 26, 2019

左旋转字符串

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;
    }
};