题目:给定一个数组nums和值val,原地移除数组中所有数值等于val的元素,返回移除后数组的新长度
法:和leetcode26思路一样,都是用快慢指针,但这次是将nums[fast]与val比较,
1) 不同的话就把nums[slow]=nums[fast],再将slow与fast同时后移
2)相同的话,只移动fast
def removeElement(self, nums, val):
"""
:type nums: List[int]
:type val: int
:rtype: int
"""
length=len(nums)
if length==0 :return 0
slow,fast=0,0
while fast<length:
if nums[fast]!=val:
nums[slow]=nums[fast]
slow+=1
fast+=1
else:
fast+=1
return slow