利用一个虚拟头节点,和维护一个前置节点.

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

class Solution:
    def deleteDuplicates(self, head: ListNode) -> ListNode:
        if not head or not head.next:
            return head
        dummy=pre=ListNode(0)
        pre.next=head
        
        while head and head.next:
            v=head.val
            if head.next.val!=v:
                head=head.next
                pre=pre.next
            else:
                while head and head.val==v:
                    head=head.next
                    if not head:
                        break
                pre.next=head
        return dummy.next
            
        

 

SRE实战 互联网时代守护先锋,助力企业售后服务体系运筹帷幄!一键直达领取阿里云限量特价优惠。
扫码关注我们
微信号:SRE实战
拒绝背锅 运筹帷幄