1.代码
class Solution:
def rotate(self, nums: List[int], k: int) -> None:
"""
Do not return anything, modify nums in-place instead.
"""
def reverse(str:List[int],start:int,end:int) -> None:
left=start
right=end
while left<right:
temp=str[left]
str[left]=str[right]
str[right]=temp
left=left+1
right=right-1
reverse(nums,0,len(nums)-1)
reverse(nums,0,k%len(nums)-1)
reverse(nums,k%len(nums),len(nums)-1)
2.思路
定义了一个翻转数组的函数reverse。只要把整个数组翻转一次,再把前k个元素翻转一次,把第k+1个元素到末尾部分翻转依次,即得到轮转后的数组。