189. 旋转数组
https://leetcode-cn.com/problems/rotate-array/
题目描述
方法 1:使用额外空间
思路
先用一个额外的数组将最后的 k 位保存起来,然后将前面的元素右移 k 位,再用事先保存的 k 位元素填充数组开头。

复杂度分析
时间复杂度:$O(N)$。
空间复杂度:$O(k)$。
代码
JavaScript Code
方法 2: 巴黎铁塔翻转再翻转
思路

复杂度分析
时间复杂度:$O(N)$。
空间复杂度:$O(1)$。
代码
JavaScript Code
方法 3: 循环移位
思路

代码中 count 的来源可以去看官方题解的证明。
复杂度分析
时间复杂度:$O(N)$。
空间复杂度:$O(1)$。
代码
JavaScript Code
Last updated
Was this helpful?