题解:
class Solution:
def removeElement(self, nums: List[int], val: int) -> int:
slow = fast = 0
while fast<len(nums):
# 若快指针找到要删除的元素,就直接跳过;
# 否则,要把快指针指向的元素赋值给慢指针指向的元素,去覆盖掉,
# 然后慢指针向前一步走
if nums[fast] != val:
nums[slow] = nums[fast]
slow += 1
fast += 1
# 最后慢指针所在的位置是已找到元素的下一位,所以索引值slow=返回的新长度
return slow
同样采用双指针法,方法类似删除有序数组中的重复项Python3_双子叶mm的博客-优快云博客