其他分享
首页 > 其他分享> > 189. 轮转数组

189. 轮转数组

作者:互联网

给你一个数组,将数组中的元素向右轮转 k 个位置,其中 k 是非负数。

来源:力扣(LeetCode)
链接:https://leetcode-cn.com/problems/rotate-array
著作权归领扣网络所有。商业转载请联系官方授权,非商业转载请注明出处。

class Solution {

    private void swap(int[] nums, int l, int r) {
        int tmp = nums[l];
        nums[l] = nums[r];
        nums[r] = tmp;
    }

    private void reverse(int[] nums, int l, int r) {
        while (l < r) {
            swap(nums, l++, r--);
        }
    }

    public void rotate(int[] nums, int k) {

        k = k % nums.length;
        if (k == 0) {
            return;
        }

        reverse(nums, 0, nums.length - 1);
        reverse(nums, 0, k - 1);
        reverse(nums, k, nums.length - 1);
    }
}

标签:轮转,reverse,nums,int,void,length,数组,189
来源: https://www.cnblogs.com/tianyiya/p/15689058.html