每日一题-Day25-轮转数组


题目

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

如[1,2,3,4,5]向右轮转1位,[5,1,2,3,4,]

解题思路

取模,利用额外的数组复制原数组,通过取模的方式为数组赋值

class Solution {
    public void rotate(int[] nums, int k) {
        int length = nums.length;
        int[] temp = new int[length];
        for (int j = 0; j < length; j++){
            temp[j] = nums[j];
        }
        for (int i = 0; i < length; i++){
           nums[(i + k)%length] = temp[i];
        }
    }
}

来源:力扣(LeetCode)
链接:https://leetcode-cn.com/problems/rotate-array/