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