Skip to content

Code:

js
/**
 * @param {number[]} nums
 * @param {number} val
 * @return {number}
 */
var removeElement = function(nums, val) {
    let last = nums.length

    for (let i = 0; i < last;) {
        if (nums[i] === val) {
            nums[i] = nums[--last]
        } else {
            i++
        }
    }

    return last
};

// 时间复杂度:O(n)
// 空间复杂度:O(1)

// 测试用例
console.log(removeElement([3,2,2,3], 3))
console.log(removeElement([0,1,2,2,3,0,4,2], 2))
console.log(removeElement([1,1,1], 1))

❤ With Algorithm