Given a sorted linked list, delete all nodes that have duplicate numbers, leaving only distinct numbers from the original list.
For example,
Given
Given
Given
1->2->3->3->4->4->5, return 1->2->5.Given
1->1->1->2->3, return 2->3.Solution:
# Definition for singly-linked list.
# class ListNode:
# def __init__(self, x):
# self.val = x
# self.next = None
class Solution:
# @param head, a ListNode
# @return a ListNode
def deleteDuplicates(self, head):
dummy = ListNode(0)
list = dummy
pointer = head
while pointer!= None:
if pointer.next != None and pointer.val == pointer.next.val:
value = pointer.val;
while pointer!= None and pointer.val == value:
pointer = pointer.next
else:
list.next = pointer
list = list.next
pointer = pointer.next
list.next = None
return dummy.next
No comments :
Post a Comment