def removeZeroSumSublists(self, head: ListNode) -> ListNode: dummy = ListNode(0) dummy.sum = 0 dummy.next = head cur_sum = 0 p = head while p: cur_sum += p.val p.sum = cur_sum p = p.next start = dummy while start: cur = start.next # node0 while cur: range_sum = cur.sum - start.sum if range_sum == 0: start.next = cur.next # delete start->next 到 cur break else: cur = cur.next start = start.next return dummy.next