🗒️1971. 寻找图中是否存在路径
2024-12-30
| 2024-12-30
0  |  阅读时长 0 分钟
type
status
date
slug
summary
tags
category
icon
password
创建时间
Dec 30, 2025 02:17 AM
有一个具有 n 个顶点的 双向 图,其中每个顶点标记从 0 到 n - 1(包含 0 和 n - 1)。图中的边用一个二维整数数组 edges 表示,其中 edges[i] = [ui, vi] 表示顶点 ui 和顶点 vi 之间的双向边。 每个顶点对由 最多一条 边连接,并且没有顶点存在与自身相连的边。
请你确定是否存在从顶点 source 开始,到顶点 destination 结束的 有效路径 。
给你数组 edges 和整数 nsource 和 destination,如果从 source 到 destination 存在 有效路径 ,则返回 true,否则返回 false 。

深度优先遍历(DFS)

DFS 只管遍历,没有返回值(通过额外的数组信息来判断结果)

source 点开始深度优先遍历,遍历 source 能遍历到的所有点。如果在最后的 isVisted 的数组中,没有记录到 destination 说明,无法到达。
上述算法需要遍历完所有的点之后,才能得到结果。在遍历过程中,即使遇到了 destination ,也没办法及时终止,给出答案。

进阶操作——DFS 有返回值

返回值,层层向上传递

📎 参考

  • 【题单】图论算法
  • 797. 所有可能的路径1971. 寻找图中是否存在路径
    Loading...