leetcode 189. Rotate Array

 前进k步,k可能大于数组。

    void rotate(vector<int>& nums, int k) {
        if (k == 0 || nums.size() == 1)
            return ;
        if (k > nums.size())
            k = k % nums.size();
        vector<int> ret(nums.size());
        
        copy(nums.begin(), nums.end() - k, ret.begin() + k);
        copy(nums.end() - k, nums.end(), ret.begin());
        swap(ret, nums);
    }

。。。

posted on 2018-01-29 23:22  willaty  阅读(89)  评论(0编辑  收藏  举报

导航