本文最后更新于 2024-07-04,文章内容可能已经过时。

/**
 * 189. 轮转数组
 *
 * @param nums
 * @param k
 */
public void rotate(int[] nums, int k) {
    int[] temp = new int[nums.length];
    for (int i = 0; i < nums.length; i++) {
        temp[(i + k) % nums.length] = nums[i];
    }
    System.arraycopy(temp, 0, nums, 0, temp.length);
}

System.arraycopy没用过-.-

// 189. 轮转数组
func rotate(nums []int, k int) {
	newNums := make([]int, len(nums))
	for i, v := range nums {
		newNums[(i+k)%len(nums)] = v
	}
	copy(nums, newNums)
}