每天一道编程题(Javascript)

封面图是水果酒拼盘,好喝,不过没有很大的酒味

【LeetCode】27. 移除元素

给定一个数组nums和一个值val,你需要移除所有数值等于val的元素,返回移除后数组的新长度。不要使用额外的数组空间,你必须在修改输入数组并在使用 O(1) 额外空间的条件下完成。元素的顺序可以改变。你不需要考虑数组中超出新长度后面的元素。

【answer】

/**
 * @param {number[]} nums
 * @param {number} val
 * @return {number}
 */
var removeElement = function(nums, val) {
    for(let i = 0; i< nums.length; i++) {
        if(nums[i] == val) {
            nums.splice(i, 1)
            i--   // 由于对原数组进行了修改,故需要把下标 往前移一位
        }
    }
};
复制代码
封面图是水果酒拼盘,好喝,不过没有很大的酒味 【LeetCode】27. 移除元素 给定一个数组nums和一个值val,你需要移除所有数值等于val的元素,返回移除后数组的新长度。不要使用额外的数组空间,你必须在修改输入数组并在使用 O(1) 额外空间的条件下完成。元素的顺序可以改变。你不需要考虑数组中超出新长度后面的元素。 【answer】 /** * @param {number[]} nums * @param {number} val * @return {number} */ var removeElement = function(nums, val) { for(let i = 0; i< nums.length; i++) { if(nums[i] == val) { nums.splice(i, 1) i-- // 由于对原数组进行了修改,故需要把下标 往前移一位 } } }; 复制代码
经验分享 程序员 微信小程序 职场和发展