797. All Paths From Source to Target
Last updated
Last updated
Input: graph = [[1,2],[3],[3],[]]
Output: [[0,1,3],[0,2,3]]
Explanation: There are two paths: 0 -> 1 -> 3 and 0 -> 2 -> 3.Input: graph = [[4,3,1],[3,2,4],[3],[4],[]]
Output: [[0,4],[0,3,4],[0,1,3,4],[0,1,2,3,4],[0,1,4]]class Solution:
def allPathsSourceTarget(self, graph: List[List[int]]) -> List[List[int]]:
target = len(graph)-1
result = []
def recursion(node, path):
# Base Condition
if node == target:
result.append(path)
for adj in graph[node]:
path.append(adj)
recursion(adj, path[:])
path.pop()
recursion(0, [0])
return result