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

Note:
Try to come up as many solutions as you can, there are at least 3 different ways to solve this problem.

 1 public class Solution {
 2     public void rotate(int[] nums, int k) 
 3     { 
 4         k = k % nums.length;
 5         int length=nums.length;
 6         reverse(nums,0,length-1);
 7         reverse(nums,0,k-1);
 8         reverse(nums,k,length-1);
 9         return;
10         
11     }
12     
13     private void reverse(int[] nums, int start, int end)
14     {
15         for(int i = start, j=end; i<j;i++,j--)
16         {
17             int temp=nums[i];
18             nums[i]=nums[j];
19             nums[j]=temp;
20         }
21         
22     }
23 }
原文地址:https://www.cnblogs.com/hygeia/p/4837065.html