leetCode刷题记录29_189_Rotate Array

/*****************************************************问题描述*************************************************
Given an array, rotate the array to the right by k steps, where k is non-negative.
Example 1:
    Input: [1,2,3,4,5,6,7] and k = 3
    Output: [5,6,7,1,2,3,4]
    Explanation:
        rotate 1 steps to the right: [7,1,2,3,4,5,6]
        rotate 2 steps to the right: [6,7,1,2,3,4,5]
        rotate 3 steps to the right: [5,6,7,1,2,3,4]
Example 2:
    Input: [-1,-100,3,99] and k = 2
    Output: [3,99,-1,-100]
    Explanation: 
        rotate 1 steps to the right: [99,-1,-100,3]
        rotate 2 steps to the right: [3,99,-1,-100]
Note:
Try to come up as many solutions as you can, there are at least 3 different ways to solve this problem.
Could you do it in-place with O(1) extra space?
数组翻转问题
/*****************************************************我的解答*************************************************
/**
 * @param {number[]} nums
 * @param {number} k
 * @return {void} Do not return anything, modify nums in-place instead.
 */
var rotate = function(nums, k) {
    for(var index = 1; index <= k; index++)
    {
        nums.splice(0,0,nums[nums.length - 1]);
        nums.splice(nums.length - 1,1);
    }    
};


 

猜你喜欢

转载自blog.csdn.net/gunsmoke/article/details/87882825