26. 删除排序数组中的重复项
给定一个排序数组,你需要在原地删除重复出现的元素,使得每个元素只出现一次,返回移除后数组的新长度。
不要使用额外的数组空间,你必须在原地修改输入数组并在使用 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