003.旋转数组

题目

思路

取最后一位填充到第一位的过程,最开始的想法是利用pop()删除并获取最后一项的值,然后push()进去(然后发现push不也是push到最后一位么…)。

于是变成了先reverse()数组,然后shift()删除首项的值,然后push进去。

答案

1
2
3
4
5
6
7
8
9
10
11
12
13
/**
* @param {number[]} nums
* @param {number} k
* @return {void} Do not return anything, modify nums in-place instead.
*/
var rotate = function(nums, k) {
for(var i = 0; i < k; i++){
nums.reverse();
var firstNum = nums.shift();
nums.push(firstNum);
nums.reverse();
}
};

评论区