/** * @param {number[]} nums * @param {number} k * @return {void} Do not return anything, modify nums in-place instead. - 不要返回任何内容,而是在适当的位置修改nums。 */ var rotate = function(nums, k) { let length = nums.length let tailArr = nums.slice(length - k) nums.unshift(...tailArr) nums.splice(length, k) };
var rotate = function(nums, k) { while (k--) { // 每次将nums最后的元素切换到开头 nums.splice(0, 0, nums.pop()) } };
var rotate = function(nums, k) { while (k--) { nums.unshift(nums.pop()) } console.log(nums) };
思路: 截取、链接,不使用 concat 方法保证空间O(1)
var rotate = function(nums, k) { let a = nums.splice(nums.length-k); nums.splice(0,0,...a) console.log(nums) };