82. Remove Duplicates from Sorte

2018-06-19  本文已影响0人  April63

这一题好像是剑指offer上的,需要注意用pre指针
代码如下:

Definition for singly-linked list.
# class ListNode(object):
#     def __init__(self, x):
#         self.val = x
#         self.next = None

class Solution(object):
    def deleteDuplicates(self, head):
        """
        :type head: ListNode
        :rtype: ListNode
        """
        if not head or not head.next:
            return head
        dumpy = ListNode(0)
        dumpy.next = head
        pre = dumpy
        curr = head 
        p = head.next
        while p:
            while p and p.val == curr.val:
                p = p.next
            if curr.next != p:
                pre.next = p
                curr = p
                if curr:
                    p = curr.next
            else:
                pre = curr
                curr = curr.next
                if curr:
                    p = curr.next
        return dumpy.next
上一篇 下一篇

猜你喜欢

热点阅读