Given a sorted linked list, delete all duplicates such that each element appear only once.
For example,
Given 1->1->2
, return 1->2
.
Given 1->1->2->3->3
, return 1->2->3
.
# Definition for singly-linked list. # class ListNode(object): # def __init__(self, x): # self.val = x # self.next = None class Solution(object): def deleteNode(self, node): """ :type node: ListNode :rtype: void Do not return anything, modify node in-place instead. """ t = node.next node.val = node.next.val node.next = node.next.next def deleteDuplicates(self, head): """ :type head: ListNode :rtype: ListNode """ r = head while head is not None and head.next is not None: if head.val == head.next.val: self.deleteNode(head) else: head = head.next return r