チェーンテーブルの重複するノードの削除(python)


Leetcode. 82. Remove Duplicates from Sorted List II
タイトル
ソートされたチェーンテーブルに重複するノードがあります.チェーンテーブルの重複するノードを削除してください.重複するノードは保持されず、チェーンテーブルヘッダポインタに戻ります.
  :
  :1->2->3->3->3->4->4->5->6
  :1->2->5->6
class Solution(object):
    def deleteDuplicates(self, head):
        """
        :type head: ListNode
        :rtype: ListNode
        """
        tempNode = pre = ListNode(0)
        tempNode.next = head
        while head and head.next:
            if head.val == head.next.val:
                while head and head.next and head.val == head.next.val:
                    head = head.next
                head = head.next
                pre.next = head             
            else:
                pre = pre.next
                head = head.next
        return tempNode.next

83. Remove Duplicates from Sorted List
類似テーマ
ソートされたチェーンテーブルに重複するノードが存在する場合は、チェーンテーブルの重複するノードを削除します.重複するノードは1つだけ保持され、チェーンテーブルヘッダポインタに戻ります.
  :
  :1->2->3->3->3->4->4->5->6
  :1->2->3->4->5->6
class Solution(object):
    def deleteDuplicates(self, head):
        """
        :type head: ListNode
        :rtype: ListNode
        """
        tempNode = pre = ListNode(0)
        tempNode.next = head
        while head and head.next:
            if head.val == head.next.val:
                head = head.next
                pre.next = head
            else:
                pre = pre.next
                head = head.next
        return tempNode.next