1
class Solution {
2
public ListNode removeZeroSumSublists(ListNode head) {
3

4
ListNode dummy = new ListNode(0);
5
dummy.next = head;
6

7
int prefix = 0;
8
ListNode curr = dummy;
9
Map<Integer, ListNode> seen = new HashMap<>();
10
seen.put(prefix, dummy);
11

12
while (curr != null) {
13
prefix += curr.val;
14
seen.put(prefix, curr);
15
curr = curr.next;
16
}
17

18
prefix = 0;
19
curr = dummy;
20
while (curr != null) {
21
prefix += curr.val;
22
curr.next = seen.get(prefix).next;
23
curr = curr.next;
24
}
25

26
return dummy.next;
27
}
28
}

0

WPM •0 •0

100%

ACC •0 •0

0s

TIME •0