HOT100——图篇Leetcode207. 课程表
文章目录
- 题目:Leetcode207. 课程表
- 原题链接
- 思路
- 代码
题目:Leetcode207. 课程表
原题链接
课程表
思路
拓扑排序
- 建立哈希表
unordered_map<int, vector<int>> edges;
存储有向图的边,edges[b].push_back(a);
表示b->a
- 用
vector<int> in(numCourses);
来表示节点的入度 - 利用上述容器建图
- 将入度为
0
的节点加入队列q
-BFS
进行拓扑排序,入度为0
的节点依次出队,并将其邻接节点的入度减1
。如果邻接节点的入度减为0
,将其加入队列 - 判断是否有环:
vector<int> in(numCourses);
中入度都为0
即不存在环,返回true