Flatten a Multilevel Doubly Linked List LeetCode solution in JavaScript

1
var flatten = function (head) {
2
var arr = [];
3
var temp = head;
4
var prev = null;
5
while (temp) {
6
if (temp.child != null) {
7
arr.push(temp.next);
8
temp.next = temp.child;
9
temp.child.prev = temp;
10
temp.child = null;
11
}
12
prev = temp;
13
temp = temp.next;
14
}
15
for (var j = arr.length - 1; j >= 0; j--) {
16
if (arr[j] != null) mergeOtherLists(arr[j]);
17
}
18
return head;
19

20
function mergeOtherLists(root) {
21
prev.next = root;
22
root.prev = prev;
23
while (root) {
24
prev = root;
25
root = root.next;
26
}
27
}
28
};

0

WPM •0 •0

100%

ACC •0 •0

0s

TIME •0