• [Leetcode] Remove Duplicates from Sorted List


    Remove Duplicates from Sorted List

     

    Given a sorted linked list, delete all duplicates such that each element appear only once.

    For example,
    Given 1->1->2, return 1->2.
    Given 1->1->2->3->3, return 1->2->3.

    Solution:

    Approach: "Building-block" methods: basic operation - Deleting node

    current.next = current.next.next # remove 2nd duplicated node
    # Definition for singly-linked list.
    # class ListNode:
    #     def __init__(self, x):
    #         self.val = x
    #         self.next = None
    
    class Solution:
        # @param head, a ListNode
        # @return a ListNode
        def deleteDuplicates(self, head):
            #迭代版,时间复杂度O(n),空间复杂度O(1)
            current = head
            while current and current.next:
                if current.val == current.next.val:
                    current.next = current.next.next # remove 2nd duplicated node
                else:
                    current = current.next
            return head
  • 相关阅读:
    130被围绕的区域
    695岛屿的最大面积
    200岛屿数量
    5314跳跃游戏IV
    375猜数字大小II
    464我能赢吗
    486预测赢家
    877石子游戏
    1000合并石头的最低成本
    5329数组大小减半
  • 原文地址:https://www.cnblogs.com/asrman/p/4191373.html
Copyright © 2020-2023  润新知