class Solution {
public void rotate(int[] nums, int k) {
//取模,防止k大于数组长度
k = k%nums.length;
//先翻转所有元素
reverse(nums, 0, nums.length-1);
//翻转[0, k mode n-1]区间的元素
reverse(nums, 0, k-1);
//翻转[k mode n, nums.length-1]
reverse(nums, k, nums.length-1);
}
public void reverse(int[] nums, int start, int end){
while(start<end){
int temp = nums[start];
nums[start] = nums[end];
nums[end] = temp;
start++;
end--;
}
}
}
189、轮转数组
最新推荐文章于 2024-08-14 23:12:09 发布