[Leetcode] 力扣189:旋转数组

在这里插入图片描述
思路
尽量在原数组上操作,引用官方题解下面的热评
在这里插入图片描述
方法
三次reverse操作,注意先对k取余处理,另外注意STL的迭代器end指向的是最后一个元素的下一个位置

class Solution {
    
    
public:
    void rotate(vector<int>& nums, int k) {
    
    
        int n = nums.size();
        k %= n;
        reverse(nums.begin(), nums.end());
        reverse(nums.begin(), nums.begin() + k);
        reverse(nums.begin() + k, nums.end());
    }
};

猜你喜欢

转载自blog.csdn.net/weixin_44537258/article/details/112385213