189. Rotate Array

来源:互联网 发布:淘宝网购物女装连衣裙夏装 编辑:程序博客网 时间:2024/05/08 22:43

Rotate an array of n elements to the right by k steps.

For example, with n = 7 and k = 3, the array [1,2,3,4,5,6,7] is rotated to [5,6,7,1,2,3,4].

class Solution {public:    void rotate(vector<int>& nums, int k)    {        k=k%(nums.size());        vector<int> a(k,0);        for(int i=nums.size()-k;i<nums.size();i++)                a[i-nums.size()+k]=nums[i];        for(int i=nums.size()-1;i>=0;--i)            nums[i]=nums[i-k];        for(int i=0;i<k;++i)            nums[i]=a[i];    }};

0 0