#暴力法:直接将拟删除的element之后的所有元素都向前移一位
class Solution:
def removeElement(self, nums: List[int], val: int) -> int:
i, k = 0, len(nums)
while i < k:
if nums[i] == val:
for j in range(i + 1,len(nums)):
nums[j-1] = nums[j]
i -= 1
k -= 1
i += 1
return k
#类似双指针法,i是快指针,k是慢指针
class Solution:
def removeElement(self, nums: List[int], val: int) -> int:
k = 0
for i in range(len(nums)):
if nums[i] != val:
nums[k] = nums[i]
k += 1
return k