Skip to content

Commit fd6c454

Browse files
committed
Time: 524 ms (80.35%), Space: 152.6 MB (71.43%) - LeetHub
1 parent c772ff3 commit fd6c454

File tree

1 file changed

+16
-18
lines changed

1 file changed

+16
-18
lines changed

2121-find-if-path-exists-in-graph/2121-find-if-path-exists-in-graph.js

+16-18
Original file line numberDiff line numberDiff line change
@@ -1,33 +1,31 @@
1-
21
/**
32
* @param {number} n
43
* @param {number[][]} edges
54
* @param {number} source
65
* @param {number} destination
76
* @return {boolean}
87
*/
9-
var validPath = function(n, edges, source, destination) {
8+
var validPath = function (n, edges, source, destination) {
109

11-
if (edges.length == 0) return true;
12-
let map = new Map();
10+
if (!edges.length) return true;
11+
const map = new Map();
1312
for (let i = 0; i < edges.length; i++) {
14-
let [node, next] = edges[i];
15-
if (!map.has(node)) map.set(node, []);
16-
if (!map.has(next)) map.set(next, []);
17-
map.get(node).push(next);
18-
map.get(next).push(node);
13+
const [start, end] = edges[i];
14+
if (!map.has(start)) map.set(start, []);
15+
if (!map.has(end)) map.set(end, []);
16+
map.get(start).push(end);
17+
map.get(end).push(start);
1918
}
20-
let queue = [];
19+
let queue = [...map.get(source)];
2120
let visited = new Set();
22-
queue.push(source);
23-
while(queue.length > 0) {
21+
22+
while (queue.length > 0) {
2423
let cur = queue.pop();
25-
for (const element of map.get(cur)) {
26-
if (element === destination) return true;
27-
if (!visited.has(element)) {
28-
visited.add(element);
29-
queue.push(element);
30-
}
24+
if (cur == destination) return true;
25+
if (!visited.has(cur)) {
26+
visited.add(cur);
27+
let list = map.get(cur);
28+
queue.push(...list)
3129
}
3230
}
3331
return false;

0 commit comments

Comments
 (0)