我使用本书中描述的二叉树 用算法和数据结构解决问题
class BinaryTree:
def __init__(self,rootObj):
self.key = rootObj
self.leftChild = None
self.rightChild = None
已经有如下定义的前序遍历方法。
def preorder(tree):
if tree:
print(tree.self.key)
preorder(tree.getLeftChild())
preorder(tree.getRightChild())
我只想添加访问的节点列表的返回值。所以我可以做类似的事情
for i in preorder(tree):
etc...
我无法从递归方法返回列表。递归一到达“返回”就停止,我尝试过使用变体
return [tree.self.key] + preorder()
或者
yield ...
有任何想法吗?