【发布时间】:2021-04-17 09:27:15
【问题描述】:
大家好,我的课程有一个任务,我需要构建一个函数,将给定的树(树)表示为元组返回一棵新树(树的显示)
class Tree(object):
def __init__(self, value, nodes=None):
self.value = value
self.nodes = nodes
def __repr__(self):
if self.nodes:
return 'Tree({0},{1})'.format(self.value, repr(self.nodes))
return 'Tree({0})'.format(self.value)
def BuildTree(tree):
if type(tree) != tuple:
return Tree(tree)
<3 >
return Tree("here i need to put the height" ,list(map(BuildTree, tree)))
t1 = BuildTree((((1, 2), 3), (4, (5, 6))))
print(t1)
直到现在我只得到这样的结果。
树([树([树([树(1),树(2)]),树(3)]),树([树(4),树([树(5),树(6 )])])])
但我不知道我计算每个内部节点的高度
我有这张描述新树构造的图片。 所以绿色的数字是高度,红色的数字是我在元组中的值
所以新树的正确输出是这样的。
树(3,[树(2,[树(1,[树(1),树(2)]),树(3)]),树(2,[树(4),树(1 ,[树(5), 树(6)])])])
【问题讨论】:
标签: python python-3.x recursion tree height