给你一个有 n 个节点的 有向无环图(DAG) ,请你找出所有从节点 0 到节点 n-1 的路径并输出(不要求按特定顺序)
graph[i] 是一个从节点 i 可以访问的所有节点的列表(即从节点 i 到节点 graph[i][j]存在一条有向边)。
- 里面其实start的准确定义应该是下一个访问的数组下标.
- graph[start][i] 表示的不就是,你当前访问的节点下标吗
/**
* @param {number[][]} graph
* @return {number[][]}
*/
var allPathsSourceTarget = function(graph) {
let stack = [];
let ret = []
const dfs = (start,stack) =>{
if(start === graph.length -1 ){
ret.push([0,...stack])
}
console.log(start)
for(let i = 0;i<graph[start].length;i++){
stack.push(graph[start][i]);
dfs(graph[start][i],stack)
stack.pop()
}
}
dfs(0,[])
return ret
};