/** * @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) };