从右向左旋转数组,一共k次。k可以是任意数字。
public class Solution { public void rotate(int[] nums, int k) { if(k == 0 || nums.length==0 || nums.length==1) return; k = k % nums.length; k = nums.length - k; int[] tNums = new int[nums.length+k]; for(int i=0; i<nums.length; i++) { tNums[i] = nums[i]; } for(int i=0; i<k; i++) { tNums[i+nums.length] = tNums[i]; } int j=0; for(int i=k; i<nums.length+k; i++) { nums[j++] = tNums[i]; } } }