Leetcode-198.轮转数组

299 词

核心是数组切片

image.png

1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
class Solution:

    def rotate(self, nums: List[int], k: int) -> None:

        """n=len(nums)

        for i in range(k):

            a=nums[-1]

            for j in range(n-1,0,-1):

                nums[j]=nums[j-1]

            nums[0]=a"""

        n=len(nums)

        k=k%n

        nums[:]=nums[-k:]+nums[:-k]

解决题目的关键是将数组切片,从第k部分切开即可,注意当k大于n时要取模。