File tree Expand file tree Collapse file tree 3 files changed +91
-0
lines changed
solution/1100-1199/1171.Remove Zero Sum Consecutive Nodes from Linked List Expand file tree Collapse file tree 3 files changed +91
-0
lines changed Original file line number Diff line number Diff line change @@ -195,6 +195,38 @@ func removeZeroSumSublists(head *ListNode) *ListNode {
195
195
}
196
196
```
197
197
198
+ ### ** TypeScript**
199
+
200
+ ``` ts
201
+ /**
202
+ * Definition for singly-linked list.
203
+ * class ListNode {
204
+ * val: number
205
+ * next: ListNode | null
206
+ * constructor(val?: number, next?: ListNode | null) {
207
+ * this.val = (val===undefined ? 0 : val)
208
+ * this.next = (next===undefined ? null : next)
209
+ * }
210
+ * }
211
+ */
212
+
213
+ function removeZeroSumSublists(head : ListNode | null ): ListNode | null {
214
+ const dummy = new ListNode (0 , head );
215
+ const last = new Map <number , ListNode >();
216
+ let s = 0 ;
217
+ for (let cur = dummy ; cur ; cur = cur .next ) {
218
+ s += cur .val ;
219
+ last .set (s , cur );
220
+ }
221
+ s = 0 ;
222
+ for (let cur = dummy ; cur ; cur = cur .next ) {
223
+ s += cur .val ;
224
+ cur .next = last .get (s )! .next ;
225
+ }
226
+ return dummy .next ;
227
+ }
228
+ ```
229
+
198
230
### ** ...**
199
231
200
232
```
Original file line number Diff line number Diff line change @@ -174,6 +174,38 @@ func removeZeroSumSublists(head *ListNode) *ListNode {
174
174
}
175
175
```
176
176
177
+ ### ** TypeScript**
178
+
179
+ ``` ts
180
+ /**
181
+ * Definition for singly-linked list.
182
+ * class ListNode {
183
+ * val: number
184
+ * next: ListNode | null
185
+ * constructor(val?: number, next?: ListNode | null) {
186
+ * this.val = (val===undefined ? 0 : val)
187
+ * this.next = (next===undefined ? null : next)
188
+ * }
189
+ * }
190
+ */
191
+
192
+ function removeZeroSumSublists(head : ListNode | null ): ListNode | null {
193
+ const dummy = new ListNode (0 , head );
194
+ const last = new Map <number , ListNode >();
195
+ let s = 0 ;
196
+ for (let cur = dummy ; cur ; cur = cur .next ) {
197
+ s += cur .val ;
198
+ last .set (s , cur );
199
+ }
200
+ s = 0 ;
201
+ for (let cur = dummy ; cur ; cur = cur .next ) {
202
+ s += cur .val ;
203
+ cur .next = last .get (s )! .next ;
204
+ }
205
+ return dummy .next ;
206
+ }
207
+ ```
208
+
177
209
### ** ...**
178
210
179
211
```
Original file line number Diff line number Diff line change
1
+ /**
2
+ * Definition for singly-linked list.
3
+ * class ListNode {
4
+ * val: number
5
+ * next: ListNode | null
6
+ * constructor(val?: number, next?: ListNode | null) {
7
+ * this.val = (val===undefined ? 0 : val)
8
+ * this.next = (next===undefined ? null : next)
9
+ * }
10
+ * }
11
+ */
12
+
13
+ function removeZeroSumSublists ( head : ListNode | null ) : ListNode | null {
14
+ const dummy = new ListNode ( 0 , head ) ;
15
+ const last = new Map < number , ListNode > ( ) ;
16
+ let s = 0 ;
17
+ for ( let cur = dummy ; cur ; cur = cur . next ) {
18
+ s += cur . val ;
19
+ last . set ( s , cur ) ;
20
+ }
21
+ s = 0 ;
22
+ for ( let cur = dummy ; cur ; cur = cur . next ) {
23
+ s += cur . val ;
24
+ cur . next = last . get ( s ) ! . next ;
25
+ }
26
+ return dummy . next ;
27
+ }
You can’t perform that action at this time.
0 commit comments