因此,我写了这段代码来打印二叉树的所有根叶子路径,当它打到基本情况时,它会打印每个路径,而我想将它存储在列表,以便最后我有一个列表包含每个路径。我已经尝试了几个使用尾递归或使用其他全局列表的东西,但我无法正确实现它。字符串值而不是在递归过程中打印
def rootleafPath(self, root):
global arr
if root is None:
return
arr.append(root.rootid)
if self.isLeaf(root):
print arr
self.rootleafPath(root.left)
self.rootleafPath(root.right)
arr.pop()
这将返回
[1, 2, 4]
[1, 2, 5]
[1, 3]
,而我希望我的函数返回,例如[[1,2,4],[1,2,5],[1,3]
列表我在大多数递归解决方案中都遇到了这个问题,我需要在打到基本案例而不是打印时存储结果。
谢谢:)这解决了我的问题。 – Angersmash