003.旋转数组
in 算法 with 0 comment

003.旋转数组

in 算法 with 0 comment

题目

leetCode_003.png

思路

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

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

答案

/**
 * @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();
    }
};
Comments are closed.