当前位置: 首页 > article >正文

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

1. 题目

在这里插入图片描述

2. 代码

  • DFS , 直接见代码
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;

    }
};

http://www.kler.cn/a/294490.html

相关文章:

  • 扫雷游戏代码分享(c基础)
  • 【Linux篇】面试——用户和组、文件类型、权限、进程
  • 大数据新视界 -- 大数据大厂之 Impala 性能优化:优化数据加载的实战技巧(下)(16/30)
  • macOS 设置固定IP
  • JMeter基础篇
  • 设计模式-七个基本原则之一-单一职责原则 + SpringBoot案例
  • 尚品汇-商品上下架完善(更新ES)、延迟消息(四十四)
  • CSDN文章无水印转成PDF
  • 【数据结构入门】排序算法之交换排序与归并排序
  • UE5.3_跟一个插件—Socket.IO Client
  • 【爬虫软件】小红薯评论区采集工具
  • 目标检测-RT-DETR
  • 抖音发布Unity小游戏的errorMsg: native build failed
  • 【人工智能学习笔记】1_人工智能基础
  • 【redis】数据量庞大时的应对策略
  • 从源码角度分析 Kotlin by lazy 的实现
  • 固态硬盘装系统有必要分区吗?
  • 前端安全:如何防范跨站脚本攻击(XSS)
  • 【时时三省】c语言例题----华为机试题<等差数列>。
  • 日志系统前置知识
  • 机器人可能会在月球上提供帮助
  • c++的基本数据类型
  • 堆-数组的堆化+优先队列(PriorityQueue)的使用
  • python的logging模块setLevel(LEVELS.get(‘default‘,logging.NOTSET))
  • 如何把自动获取的ip地址固定
  • 每日一题~cf 970 div3 (A思维,B小模拟,C二分,D排列数建图成环,E 26个字母暴力+前缀和,F 逆元,G 数论gcd )