题目介绍:
给定一个数组,将数组中的元素向右移动 k 个位置,其中 k 是非负数。
输入:[1,2,3,4,5,6,7]
和 k = 3 输出:[5,6,7,1,2,3,4]
解释: 向右旋转 1 步:[7,1,2,3,4,5,6]
向右旋转 2 步:[6,7,1,2,3,4,5]
向右旋转 3 步:[5,6,7,1,2,3,4]
开始觉得这道题还挺简单的,后来测试时出现了很多没想到的测试结果,也是不断地修改,不过总算通过了,Mark一下
小白用的最简单的方法,最简单的想法
class Solution(object):
def rotate(self, nums, k):
"""
:type nums: List[int]
:type k: int
:rtype: None Do not return anything, modify nums in-place instead.
"""
result = list()
k=k%len(nums)
for i in range(len(nums) - k, len(nums)):
a = nums[i]
result.append(a)
for j in range(0, len(nums) - k):
b = nums[j]
result.append(b)
del nums[:]
for l in result:
nums.append(l)