LeetCode82:Remove Duplicates from Sorted List II
阿新 • • 發佈:2018-11-12
Given a sorted linked list, delete all nodes that have duplicate numbers, leaving only distinct numbers from the original list.
Example 1:
Input: 1->2->3->3->4->4->5 Output: 1->2->5
Example 2:
Input: 1->1->1->2->3 Output: 2->3
LeetCode:連結
和劍指Offer_程式設計題56:刪除連結串列中重複的結點是一道題。
# Definition for singly-linked list. # class ListNode(object): # def __init__(self, x): # self.val = x # self.next = None class Solution(object): def deleteDuplicates(self, head): """ :type head: ListNode :rtype: ListNode """ if not head: return None phead = head pcur = None while phead: if phead.next and phead.val == phead.next.val: pnext = phead.next while pnext.next and pnext.next.val == phead.val: pnext = pnext.next if phead == head: head = pnext.next else: pcur.next = pnext.next phead = pnext.next else: pcur = phead phead = phead.next return head