lc026.删除排序数组中的重复项

 

删除排序数组中的重复项

啊这道题还是挺简单的,就是双指针法,而且数组还是排序过的,只要一个右指针一直往右边走,比较其所指的数和左指针指的数是否相同,如果相同,那么 右指针向右移动一位,左指针则不动。当遇见右指针和左指针指的数相同时,左指针也向右移动一格,并将右指针所指的数记录在新的左指针所指的位置,以此\n 类推直至右指针走到数组末尾。返回左指针的位置加一即可。

class Solution:
    def removeDuplicates(self, nums: List[int]) -> int:
        if len(nums) == 1:
            return 1
        i, j = 0, 1
        while j < len(nums):
            if nums[i] == nums[j]:
                j += 1
            else:
                i += 1
                nums[i] = nums[j]
                j += 1
        return i + 1