我已经在python中使用嵌套列表创建了一个树形数据结构。我的代码可以遍历列表并打印所有节点及其父节点的列表:
def printParents(node,adj,parent):
if (parent == 0):
print(node, "-> root")
else:
print(node, "->", parent)
for cur in adj[node]:
if (cur != parent):
printParents(cur,adj,node)
其结果是:
我正在努力写一个函数,它可以向后工作,在给定的一个特定节点的情况下,将路径推回到根目录。例如,输入17,它应该返回类似于17 -〉11 -〉3 -〉1的结果(输出格式可以不同)。
任何帮助都将不胜感激。我不是一个超级有经验的代码,所以回答,把我当哑巴将不胜感激。
1条答案
按热度按时间biswetbf1#
你可以使用一个生成器,当从递归返回时,它会构建路径:
下面是如何调用它:
这将输出:
如果只想输出以 leaf 开始的路径,请将生成器函数更改为:
对应输出: