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.length2 <= n <= 150 <= graph[i][j] < ngraph[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 { |