删除数组中的元素
class Solution:
def removeElement(self, nums: List[int], val: int) -> int:
slow = 0
for quick in range(len(nums)):
if nums[quick] != val:
nums[slow] = nums[quick]
slow += 1
for i in range(len(nums)-slow):
nums.pop()
return slow
使用双指针,当快指针所指元素不等于val
时,说明此元素位置是需要被覆盖的,此时慢指针不更新,等待快指针遇到不是val
的元素时将慢指针所指元素覆盖。