更多题解尽在 https://sugar.matrixlab.dev/algorithm 每日更新。
组队打卡,更多解法等你一起来参与哦!
LeetCode 189. 轮转数组,难度中等。
模拟
解题思路:将数组中最后 k
个数字保存在临时数组 temp
中,剩下数组中的数组后移 k
位,最后将临时数组里面的数据赋值到 nums
数组中。
class Solution {
public void rotate(int[] nums, int k) {
int n = nums.length;
k = k % n;
int[] temp = new int[k];
for (int i = 0; i < k; i++) {
temp[i] = nums[n - k + i];
}
for (int i = n - 1; i >= k; --i) {
nums[i] = nums[i - k];
}
for (int i = 0; i < k; ++i) {
nums[i] = temp[i];
}
}
}