力扣 797. 所有可能路径【DFS】

1. 题目

2. 代码

  • DFS , 直接见代码
cpp 复制代码
class Solution {
public:
    vector<int> path;
    vector<vector<int>> res;    // 结果集
    void dfs(vector<vector<int>>& graph, int cur, int n){
        // 找出所有从节点 0 到节点 n-1 的路径
        // 下标从 0 开始的
        if (cur == n){  // 当前点到了终点
            // 说明找到了一条路径, 收集起来
            res.push_back(path);
            // 返回
            return ;
        }
        // 当前节点下面有什么边连着
        for (const auto& cc : graph[cur]){
            path.push_back(cc); // 收集这个节点
            // 沿着这条路径递归
            dfs(graph, cc, n);
            path.pop_back();    // 回溯
        }
        return ;
    }
    vector<vector<int>> allPathsSourceTarget(vector<vector<int>>& graph) {
        // dfs
        // 邻接表
        // 从第一个节点出发
        path.push_back(0);
        dfs(graph, 0, graph.size() - 1);
        return res;

    }
};
相关推荐
UID96222 分钟前
[特殊字符] 无级变速传动(CVT)技术突破之道 | 易经×数学×工程的跨维度破解方案
算法·数学建模·开源
生信碱移9 分钟前
神经网络单细胞预后分析:这个方法直接把 TCGA 预后模型那一套迁移到单细胞与空转数据上了!竟然还能做模拟敲除与预后靶点筛选?!
人工智能·深度学习·神经网络·算法·机器学习·数据挖掘·数据分析
在风中的意志15 分钟前
[数据库SQL] [leetcode-175] 175. 组合两个表
数据库·sql·leetcode
圣保罗的大教堂15 分钟前
leetcode 1970. 你能穿过矩阵的最后一天 困难
leetcode
yugi98783820 分钟前
MFCC特征提取与SVM训练语音识别
算法·支持向量机·语音识别
yuanmenghao24 分钟前
MSAC 算法详解以及与 RANSAC 对比示例
算法·自动驾驶·聚类·ransac·msac·系统辨识‘
造夢先森24 分钟前
常见数据结构及算法
数据结构·算法·leetcode·贪心算法·动态规划
listhi52032 分钟前
基于蒙特卡洛方法处理电力系统负荷不确定性的解决方案
算法
iAkuya33 分钟前
(leetcode)力扣100 29删除链表的倒数第 N 个结点(双指针)
算法·leetcode·链表
@卞1 小时前
01_树的 dfs 序
算法·深度优先