0
私はツリー実装のinorder再帰的なトラバーサルを見ていて、どのように結果をリストに保存して、それを再帰関数から戻すことができるのだろうと思っています。スタックの巻き戻し中にこのリストを保持する方法に関する問題があります。inorder木のトラバーサル
だから、私のようにコードを持っている:
class BinaryTreeNode(object):
def __init__(self, value):
self.value = value
self.left = None
self.right = None
def recursive_inorder(root):
if not root:
return
nodes = list()
recursive_inorder(root.left)
nodes.append(root.value)
print root.value
recursive_inorder(root.right)
return nodes
そして、私はこれを呼び出す:ノードが正しい順序で横断しているが、私はトラブル保存する方法を考え出すを持っています
three = BinaryTreeNode(3)
five = BinaryTreeNode(5)
one = BinaryTreeNode(1)
four = BinaryTreeNode(4)
two = BinaryTreeNode(2)
six = BinaryTreeNode(6)
three.left = five
five.left = one
five.right = four
three.right = two
two.left = six
nodes = recursive_inorder(three)
結果はnodes
リストに表示されます。