核心是数组切片

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时要取模。