给定一个数组,将数组中的元素向右移动k个位置,其中k是非负数。
def rotate1(nums, k):
"""
把数组的后k位拼到前面
"""
length = len(nums)
if length < 2:
return nums
k = k % length
nums = nums[-k:] + nums[:-k]
return nums
def rotate2(nums, k):
"""
先把数组翻转,然后以第k个元素为界,前后分别翻转
"""
nums = nums[::-1]
nums[:k] = nums[:k][::-1]
nums[k:] = nums[k:][::-1]
return nums
原文:https://www.cnblogs.com/youguang369/p/14402290.html