802 Find Eventual Safe States
Last updated
Last updated
In a directed graph, we start at some node and every turn, walk along a directed edge of the graph. If we reach a node that is terminal (that is, it has no outgoing directed edges), we stop.
Now, say our starting node is_eventually safe _if and only if we must eventually walk to a terminal node. More specifically, there exists a natural numberK
so that for any choice of where to walk, we must have stopped at a terminal node in less thanK
steps.
Which nodes are eventually safe? Return them as an array in sorted order.
The directed graph hasN
nodes with labels0, 1, ..., N-1
, whereN
is the length ofgraph
. The graph is given in the following form:graph[i]
is a list of labelsj
such that(i, j)
is a directed edge of the graph.
Note:
graph
will have length at most10000
.
The number of edges in the graph will not exceed32000
.
Eachgraph[i]
will be a sorted list of different integers, chosen within the range[0, graph.length - 1]
.
(1) BFS Topological Sort
BFS Topological Sort: