LeetCode.189.旋转数组

mac2026-05-18  3

题目:

给定一个数组,将数组中的元素向右移动 k 个位置,其中 k 是非负数。

示例 1:

输入: [1,2,3,4,5,6,7] 和 k = 3 输出: [5,6,7,1,2,3,4] 解释: 向右旋转 1 步: [7,1,2,3,4,5,6] 向右旋转 2 步: [6,7,1,2,3,4,5] 向右旋转 3 步: [5,6,7,1,2,3,4]

源码:

class Solution { public void rotate(int[] nums, int k) { int len = nums.length; if (k > len) { k = k - len; } int[] array = new int[len]; int b = k; for (int i = 0; i < k; i++) { array[i] = nums[len - b]; b--; } int a = 0; for (int j = k; j < len; j++) { array[j] = nums[a]; a++; } for (int i = 0; i < len; i++) { nums[i] = array[i]; } } }
最新回复(0)