分析:
这里分两步
第一步是先把原数组需要左旋的数字取出,放到目标数组的从0下标处开始
第二部是把剩下的数字取出来放到目标数组之后
这里需要注意一下Arrays.copyOfRange与System.arrayCopy的区别,前者是返回复制后的数组,而后者需要把原数组和目标数组告知,然后进行操作。
public static void testBubbleSort(int[] a) {
System.out.println("排序前:");
System.out.println(Arrays.toString(a));
bubbleSort1(a);
System.out.println("排序后:");
System.out.println(Arrays.toString(a));
}
public static int[] rotate(int[] nums, int k) {
k = k % nums.length;
int[] rightPart = Arrays.copyOfRange(nums, nums.length - k, nums.length);
System.arraycopy(nums, 0, nums, k, nums.length - k);
System.arraycopy(rightPart, 0, nums, 0, k);
return nums;
}