ds-algo-study
Version:
Just experimenting with publishing a package
17 lines (15 loc) • 379 B
JavaScript
function breadthFirstSearch(startingNode, targetVal) {
let queue = [startingNode];
let visited = new Set();
while (queue.length) {
let node = queue.shift();
if (visited.has(node)) continue;
visited.add(node);
if (node.val === targetVal) return node;
queue = queue.concat(node.neighbors);
}
return null;
}
module.exports = {
breadthFirstSearch
};