class Solution:
def rotate(self, nums: List[int], k: int) -> None:
"""
Do not return anything, modify nums in-place instead.
"""
n = len(nums)
k = k % n # 计算实际需要轮转的位置 因为在一个长度为 n 的数组中,向右旋转 n 次会得到原始数组,所以对 k 取模 n 可以简化旋转的次数,避免不必要的操作
if k == 0: # 如果k为0,无需操作
return
rotated = [0] * n
for i in range(n):
rotated[(i+k) % n] = nums[i] # 将原数组中的元素放到正确位置
for i in range(n):
nums[i] = rotated[i] # 将额外数组中的元素复制回原数组
leetcode-轮转数组
最新推荐文章于 2024-07-25 22:25:49 发布
![](https://img-home.csdnimg.cn/images/20240711042549.png)