轮转数组-python-三次反转
·
题目:

思路:
三次反转的方法,可以直接在原来的数组上进行修改
第一次:反转整个数组
第二次:反转前k个数
第三次:反转后n-k个数
代码:
class Solution:
def rotate(self, nums: List[int], k: int) -> None:
"""
Do not return anything, modify nums in-place instead.
"""
k = k%len(nums) #若一共有9个数,那么移动1位和移动10位是一样的
def reverse(left,right):
while left<right:
nums[left], nums[right] = nums[right], nums[left]
left+=1
right-=1
reverse(0,len(nums)-1)
reverse(0,k-1)
reverse(k,len(nums)-1)
更多推荐
所有评论(0)