【发布时间】:2020-07-17 19:26:24
【问题描述】:
我正在尝试使用后序遍历在 h 高度构建一个完美的二叉树。基本上我正在尝试这样做:
height = 3
numbers = list(range(1, 2 ** height))
tree = buildTree(height, numbers)
结果会是这样的:
7
3 6
1 2 4 5
我不太担心在树结构中打印出来。我只是想正确地构建树。我的代码非常简单,但我很难找出其中的问题。
class Node:
def __init__(self, root=None):
self.root = root
self.left = self.right = None
def postorder(height, numbers):
if height == 1:
return Node(numbers.pop())
node = Node()
node.left = postorder(height-1, numbers)
node.right = postorder(height-1, numbers)
node.root = numbers.pop()
return node
【问题讨论】:
-
你的代码有什么问题?
标签: python python-3.x tree binary-tree postorder