双指针:
class Solution: def removeDuplicates(self, nums) -> int: if len(nums)<2: return len(nums) i,j=0,1 while j<len(nums): if nums[i]==nums[j]: nums.pop(j) else: i,j=i+1,j+1 return len(nums)
执行用时116ms。
执行用时48ms的别人的做法:
class Solution: def removeDuplicates(self, nums: List[int]) -> int: if not nums:return 0 k = 1 for i in range(1,len(nums)): if nums[i] != nums[i-1]: nums[k]=nums[i] k+=1 return k
多妙啊,但是我就是想不到。。。。
——2019.10.8