public static void rotate(int[] nums, int k) {
        if (nums.length == 0) {
            return;
        }
        k = k % nums.length;
		List<Integer> array = new ArrayList<>(2 * nums.length);
		for (int i = 0; i < nums.length; i++) {
			array.add(nums[i]);
		}
		for (int i = 0; i < nums.length; i++) {
			array.add(nums[i]);
		}

		int index = nums.length - k;
		for (int i = index, j = 0; i < array.size() && j < nums.length; i++, j++) {
			nums[j] = array.get(i);
		}
	}