189. Rotate Array

!!!题目链接!!!

Solution:

class Solution {
public:
    void rotate(vector<int>& nums, int k) {
        vector<int> result(0);
        if(k > nums.size()) k = k%nums.size();
        result.insert(result.begin(), nums.end()-k, nums.end());
        result.insert(result.end(), nums.begin(), nums.end()-k);
        nums = result;   

    }
};

优化:solution

class Solution {
public:
    void rotate(vector<int>& nums, int k) {
        k = k % nums.size();
        reverse(nums.begin(), nums.end());
        reverse(nums.begin(), nums.begin() + k);
        reverse(nums.begin() + k, nums.end());
    }
};
原文地址:https://www.cnblogs.com/Pomelos/p/15773435.html