面试经典 150 题 (六)

class Solution {
    public void rotate(int[] nums, int k) {
        if (k > nums.length){
            k = k % nums.length;
        }
        reverse(nums, nums.length - k, nums.length-1);
        reverse(nums, 0, nums.length - k - 1);
        reverse(nums,0, 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--;
        }
    }
}
posted @ 2024-01-27 18:04  破忒头头  阅读(16)  评论(0)    收藏  举报