1171. Remove Zero Sum Consecutive Nodes from Linked List
Given the head
of a linked list, we repeatedly delete consecutive sequences of nodes that sum to 0
until there are no such sequences.
After doing so, return the head of the final linked list. You may return any such answer.
def removeZeroSumSublists(self, head: Optional[ListNode]):
prefix = 0
seen = {}
seen[0] = dummy = ListNode(0)
dummy.next = head
while head:
prefix += head.val
seen[prefix] = head
head = head.next
head = dummy
prefix = 0
while head:
prefix += head.val
head.next = seen[prefix].next
head = head.next
return dummy.next
Comments
Post a Comment