美文网首页
27. Remove Element

27. Remove Element

作者: Icytail | 来源:发表于2017-11-04 20:42 被阅读0次

Description:

Given an array and a value, remove all instances of that value in-place and return the new length.
Do not allocate extra space for another array, you must do this by modifying the input array in-place with O(1) extra memory.
The order of elements can be changed. It doesn't matter what you leave beyond the new length.

Example:

Given nums = [3,2,2,3], val = 3,

Your function should return length = 2, with the first two elements of nums being 2.

My code:

/**
 * @param {number[]} nums
 * @param {number} val
 * @return {number}
 */
var removeElement = function(nums, val) {
    // 从下标0开始到最后,判断当前位是否为val,如果是,则使用Array.splice()把当前位去掉,同时再检测当前位是否与val相同,如果相同则继续splice,否则continue
    let i = 0;
    while(i < nums.length) {
        if(nums[i] == val) {
            nums.splice(i, 1);
        }
        if(nums[i] != val) {
            i++;
        } else {
            continue;
        }
    }
    return nums.length;
};

相关文章

网友评论

      本文标题:27. Remove Element

      本文链接:https://www.haomeiwen.com/subject/bjsqmxtx.html