力扣热门100题之轮转数组

张开发
2026/6/8 20:09:18 15 分钟阅读
力扣热门100题之轮转数组
核心思路三次反转最简单、最快超级好记口诀全部反转 → 前 k 反转 → 后 n-k 反转步骤1. 反转整个数组2. 反转前 k 个元素3. 反转后面 n-k 个元素完整代码实现class Solution { public void rotate(int[] nums, int k) { int n nums.length; // 关键点k 可能比数组长要取余 k k % n; // 1. 反转整个数组 reverse(nums, 0, n - 1); // 2. 反转前 k 个 reverse(nums, 0, k - 1); // 3. 反转后 n-k 个 reverse(nums, k, n - 1); } public void reverse(int[] nums, int left, int right){ while(left right){ int temp nums[left]; nums[left] nums[right]; nums[right] temp; left; right--; } } }终极记忆口诀背会直接写向右轮转 k先取余全部反转前 k 反转后 n-k 反转

更多文章