Rotate Array

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].

 

 

 1 class Solution {
 2 public:
 3     void rotate(vector<int>& nums, int k) {
 4         int len = nums.size();
 5         k=k%len;
 6         std::vector<int> vec(nums);
 7         for(int i = 0; i < len-k; i++){
 8            nums[i+k] = vec[i];
 9         }
10         for(int i = len-k; i < len; i++,k-=2){
11             nums[len-i-k] = vec[i];
12         }
13     }
14 };  

 

posted on 2015-11-04 11:22  forlihui  阅读(103)  评论(0)    收藏  举报

导航