【数组】leetcode189.轮转数组

题目:
给你一个数组,将数组中的元素向右轮转 k 个位置,其中 k 是非负数。
【数组】leetcode189.轮转数组_第1张图片
解答:

class Solution:
    def rotate(self, nums: List[int], k: int) -> None:
        """
        Do not return anything, modify nums in-place instead.
        """
        n=len(nums)
        def invert(A,start,end):
            while start<end:
                A[start],A[end]=A[end],A[start]
                start+=1
                end-=1
            return A
            
        if k>n:
            k%=n
        invert(nums,0,n-1)
        invert(nums,0,k-1)
        invert(nums,k,n-1)
        return nums

你可能感兴趣的:(Python,leetcode,leetcode,算法)