给定一个排序数组,你需要在原地删除重复出现的元素,使得每个元素只出现一次,返回移除后数组的新长度。

不要使用额外的数组空间,你必须在原地修改输入数组并在使用 O(1) 额外空间的条件下完成。

示例:

输入1:

nums = [1,1,2]

输出1:

2

调用函数之后num应该被修改为:

nums = [1,2,...]

输入2:

nums = [0,0,1,1,1,2,2,3,3,4]

输出2:

5

调用函数之后num应该被修改为

nums = [0,1,2,3,4,...]

解答:

def removeDuplicates(self, nums) -> int:
    if nums is None or len(nums) == 0 : return 0
    if len(nums) == 1 : return 1
    i = j = 0
    while(j< len(nums)):
        if nums[j] != nums [i]:
            nums[i+1] = nums[j]
            i += 1
        j+=1
    print(nums)
    return i+1