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
def deleteDuplicates(self, head):
"""
:type head: ListNode
:rtype: ListNode
"""
if not head:
return None
res=pre=ListNode(0)
res.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 res.next