Find Closest Node to Given Two Nodes LeetCode solution in JavaScript

1
var closestMeetingNode = function (edges, node1, node2) {
2
let n = edges.length;
3
let map1 = new Array(n).fill(-1);
4
let map2 = new Array(n).fill(-1);
5
map1[node1] = 0;
6
map2[node2] = 0;
7

8
while (edges[node1] != -1 && map1[edges[node1]] == -1) {
9
map1[edges[node1]] = map1[node1] + 1;
10
node1 = edges[node1];
11
}
12
while (edges[node2] != -1 && map2[edges[node2]] == -1) {
13
map2[edges[node2]] = map2[node2] + 1;
14
node2 = edges[node2];
15
}
16

17
let res = n,
18
node = -1;
19
for (let i = 0; i < n; i++) {
20
if (map1[i] == -1 || map2[i] == -1) continue;
21
let val = Math.max(map1[i], map2[i]);
22
if (res > val) {
23
res = val;
24
node = i;
25
}
26
}
27
return node;
28
};

0

WPM •0 •0

100%

ACC •0 •0

0s

TIME •0