【简单】6、删除排序数组中的重复项(知识点:双指针)

【1】快指针用来比较、遍历数组;慢指针用来赋值

def removeDuplicates(nums):
    if not nums:
        return 0
    # 数组的长度
    n = len(nums)
    # 快指针、慢指针,都从第1位开始;
    fast = slow = 1

    while fast < n:
        # 快指针用来比较前后两个数据是否相等,如果不相等,那快指针赋值给慢指针,然后慢指针前进一步(不一样的快指针会将重复的数据覆盖)
        if nums[fast] != nums[fast-1]:
            nums[slow] = nums[fast]
            slow += 1
        # 快指针前进一步
        fast += 1
    return slow



nums = [0, 0, 1, 1, 1, 2, 2, 3, 3, 4]
print(removeDuplicates(nums))
posted on 2022-05-16 23:11  墙角一枝花  阅读(22)  评论(0编辑  收藏  举报