开新数组移动
克隆数组:
public static void rotate(int[] nums, int k) { // int[] numstemp=nums;//这么写会指向同一片内存导致出错 int size = nums.length; int[] numstemp=new int[size]; //克隆数组 // for(int i=0;i<size;i++) { // numstemp[i]=nums[i]; // } System.arraycopy(nums,0,numstemp,0,size); for(int i=0;i<size;i++) { nums[(i+k)%size]=numstemp[i]; } }
一个一个移动 移k次 报错 当只有一个元素
public static void rotate(int[] nums, int k) { for(int i=0;i<k;i++) { int temp = nums[0]; for(int j=nums.length-1;j>0;j--) { nums[(j+1)%nums.length]=nums[j]; } nums[(0+1)%nums.length]=temp; } }
标签:轮转,nums,int,力扣,length,static,数组,189,size From: https://www.cnblogs.com/ayuanjiejie/p/17140360.html