Find Eventual Safe States LeetCode solution in JavaScript
1/**2* @param {number[][]} graph3* @return {number[]}4*/5var eventualSafeNodes = function (graph) {6const n = graph.length;7const result = new Array(n).fill(0);89const dfs = (node) => {10if (result[node] !== 0) return result[node] === 2;11result[node] = 1;12for (let neighbor of graph[node]) {13if (result[neighbor] === 1 || !dfs(neighbor)) return false;14}15result[node] = 2;16return true;17};18const safeNodes = [];19for (let node = 0; node < n; node++) {20if (dfs(node)) safeNodes.push(node);21}22return safeNodes;23};