797.所有可能的路径
一、dfs
class Solution:
def allPathsSourceTarget(self, graph):
res = []
n = len(graph)
def dfs(now, path):
path.append(now) #尝试在路径中加入当前节点
if now == n-1: #递归出口1:遍历到终点。
# 记录该路径,并弹出
res.append(list(path))
path.pop()
return
# 递归遍历每个相邻节点
for v in graph[now]:
dfs(v, path)
path.pop() #有加入就要有弹出
return #递归出口2:全部相邻节点遍历完(如果是空返回可以省略)
dfs(0, [])
return res改进:
最后更新于