leetcode之深度优先搜索刷题总结3
1-找到最终的安全状态
题目链接:题目链接戳这里!!!
思路:dfs+三色标记法
根据题意,若起始节点位于一个环内,或者能到达一个环,则该节点不是安全的。否则,该节点是安全的。
我们可以使用深度优先搜索来找环,并在深度优先搜索时,用三种颜色对节点进行标记,标记的规则如下:
白色(用 0 表示):该节点尚未被访问;
灰色(用 1 表示):该节点位于递归栈中,或者在某个环上;
黑色(用 2 表示):该节点搜索完毕,是一个安全节点。
如果搜索过程中出现不安全的,即color>0且color=1的,则返回false。如果都是安全的,则标记为color=2
class