3.移除元素-力扣

168 阅读1分钟

题目
给你一个数组 nums 和一个值 val,你需要 原地 移除所有数值等于 val 的元素,并返回移除后数组的新长度。

func removeElement(_ nums: inout [Int], _ val: Int) -> Int {
   //第一种:使用filter函数
    nums =  nums.filter{$0 != val}
    print(nums)
    
   //第二种:for循环删除
    for math in nums {
        if let removemath = nums.firstIndex(of: math) {
            if math == val {
                nums.remove(at: removemath)
            }
        }
    }
    print(nums)
    
    //第三种:while循环
    var i = 0
    while i<nums.count {
        if val == nums[i] {
            nums.remove(at: i)
            continue
        }
        print(i)
        i += 1
    }
    print(nums,nums.count)
    return nums.count
    }

总结:

  • 没有什么难度,按照题目描述写就行
  • 借鉴题目区多种答题题解,提升自己的答题能力