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

力扣189. 旋转数组 给定一个数组,将数组中的元素向右移动 k 个位置,其中 k 是非负数。_第1张图片

class Solution {
    public void rotate(int[] nums, int k) {
         k%=nums.length;
        resever(nums,0,nums.length-1);
        resever(nums,0,k-1);
        resever(nums,k,nums.length-1);
  
    }
    public void resever(int [] nums,int start,int end){
        while(start<end){
            int temp= nums[start];
            nums[start]=nums[end];
            nums[end]=temp;
            start++;
            end--;
        }   
    }
}

力扣189. 旋转数组 给定一个数组,将数组中的元素向右移动 k 个位置,其中 k 是非负数。_第2张图片

你可能感兴趣的:(算法,算法,leetcode,c语言)