双指针,虚拟头dummy

class Solution:
    def deleteDuplicates(self , head ):
        # write code here
        dummy = ListNode(float("inf"))
        dummy.next = head
        prev = dummy
        curr = dummy.next
        while curr and curr.next:            
            if curr.val != curr.next.val:
                prev = prev.next
                curr = curr.next
            else:
                while curr and curr.next and curr.val == curr.next.val:
                    curr = curr.next
                curr = curr.next
                prev.next = curr
        return dummy.next