82. Remove Duplicates from Sorted List II

https://leetcode.com/problems/remove-duplicates-from-sorted-list-ii/description/

删除增序链表中的重复结点
思路:用pre记录前驱,i往后遍历,遇到重复的就继续向前,直到非重复,然后修改pre的后继即可

class Solution:
    def deleteDuplicates(self, head):
        """
        :type head: ListNode
        :rtype: ListNode
        """
        Head = ListNode(0)  #辅助头结点
        Head.next = head
        pre, i = Head, head
        while i:  #当i非空
            while i.next and i.val == i.next.val:  #遇到重复结点则向前
                i = i.next
            if pre.next != i:  #有重复结点
                pre.next = i.next
                i = i.next
            else:  #没有重复结点
                pre = i
                i = i.next
        return Head.next

你可能感兴趣的:(LeetCode)