题目
给你一个数组 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
}
总结:
- 没有什么难度,按照题目描述写就行
- 借鉴题目区多种答题题解,提升自己的答题能力