三次反转
1.整体反转
2.前半部分反转
3.后半部分反转
tips:python库函数list.reverse()会报错,需要自己实现。
class Solution:
def rotate(self, nums: List[int], k: int) -> None:
"""
Do not return anything, modify nums in-place instead.
"""
def reverse(nums, i, j):
while i <= j:
nums[i], nums[j] = nums[j], nums[i]
i += 1
j -= 1
n = len(nums)
k = k%n
reverse(nums,0,n-1)
reverse(nums,0,k-1)
reverse(nums,k,n-1)