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

# 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
            
        

 

相关文章:

  • 2021-10-01
  • 2021-08-24
猜你喜欢
  • 2021-08-29
  • 2021-07-29
  • 2021-08-17
  • 2022-03-05
  • 2022-01-04
  • 2021-09-21
  • 2022-12-23
相关资源
相似解决方案