Remove Duplicates from Sorted List——Linked List

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 
        

 

猜你喜欢

转载自qu66q.iteye.com/blog/2317230