剑指offer-43:左旋转字符串
枚举法,通过规律找出,如str=“abcdef”,n = 2
第一次reverse得到 fe dcba;
第二次对每部分进行reverse得到 ef abcd;
从而符合样例要求efabcd,时间复杂度为O(n),具体代码如下:
class Solution {
public:
string LeftRotateString(string str, int n) {
reverse(str.begin(), str.end());
reverse(str.begin(), str.begin() + str.size() - n);
reverse(str.begin() + str.size() - n, str.end());
return str;
}
};