797. 所有可能的路径-dfs

69 阅读1分钟

797. 所有可能的路径

给你一个有 n 个节点的 有向无环图(DAG) ,请你找出所有从节点 0 到节点 n-1 的路径并输出(不要求按特定顺序

 graph[i] 是一个从节点 i 可以访问的所有节点的列表(即从节点 i 到节点 graph[i][j]存在一条有向边)。

  1. 里面其实start的准确定义应该是下一个访问的数组下标.
  2. 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
                                                                                                                                                                             

};