82. Remove Duplicates from Sorted List II

Given a sorted linked list, delete all nodes that have duplicate numbers, leaving only distinct numbers from the original list.

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

Solution:

class Solution(object):
    def deleteDuplicates(self, head):
        """
        :type head: ListNode
        :rtype: ListNode
        """
        pre = node = dummy = ListNode(None)
        pre.next = head
        cur = head
        while cur:
            if cur.val != pre.val and (not cur.next or cur.val != cur.next.val):
                node.next = cur
                node = cur
            pre = cur
            cur = cur.next
        node.next = None
        return dummy.next

results matching ""

    No results matching ""