189. Rotate Array

来源:互联网 发布:java 1.8运行环境 编辑:程序博客网 时间:2024/05/16 09:29

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

public class Solution {    public void rotate(int[] nums, int k) {        int length = nums.length;        k = k % length;        if(length == 1)        return;        if(k == 0)        return;        //reve(nums, 0, length - k);        reve(nums, 0, length - k - 1);        reve(nums, length -k, length - 1);        reve(nums, 0, length - 1);    }    public static void reve(int[] nums, int i, int j){        int t = 0;        while(i < j  && i >= 0){            t= nums[i];            nums[i] = nums[j];            nums[j] = t;            i++;            j--;        }    }}
0 0