797. All Paths From Source to Target
797. All Paths From Source to Target
Description
Difficulty: Medium
Related Topics: Backtracking, Depth-First Search, Breadth-First Search, Graph
Given a directed acyclic graph (DAG) of n
nodes labeled from 0
to n - 1
, find all possible paths from node 0
to node n - 1
and return them in any order.
The graph is given as follows: graph[i]
is a list of all nodes you can visit from node i
(i.e., there is a directed edge from node i
to node graph[i][j]
).
Example 1:
1 | Input: graph = [[1,2],[3],[3],[]] |
Example 2:
1 | Input: graph = [[4,3,1],[3,2,4],[3],[4],[]] |
Constraints:
n == graph.length
2 <= n <= 15
0 <= graph[i][j] < n
graph[i][j] != i
(i.e., there will be no self-loops).- All the elements of
graph[i]
are unique. - The input graph is guaranteed to be a DAG.
Hints/Notes
- Traverse the graph, add node to the path when entering and remove the node from the path when exiting
- DAG, i.e. directed acyclic graph, so there’s no cycle
Solution
Language: C++
1 | class Solution { |