使用两个指针,i和number,i用来遍历原始数组,number用来保存不重复元素的数量。最开始让number=0,第一个不重复元素就是数组中的第一个元素,然后从数组中的第二个元素开始和number下标对应的元素比较,如果相等则说明是重复项不处理,如果不相等,则number++,将数组i处的元素添加到number位置。
代码:
class Solution:
def removeDuplicates(self, nums: List[int]) -> int:
number = 0
if len(nums) == 0:
return 0
for i in range(1, len(nums)):
if nums[i] != nums[number]:
number += 1
nums[number] = nums[i]
return number + 1