python树数据结构的打印问题

时间:2019-03-14 18:21:40

标签: python python-3.x

当我在if(!count($result)) { // all empty thus everything was "0". } 中运行该程序时,出现在该树中任何节点的数据和3次。我不明白为什么会出现这些None,因为该函数应该只打印该值。

m_tree.print_values(root)

2 个答案:

答案 0 :(得分:2)

print_values没有return语句,因此默认情况下它返回None。因此,如果您调用print_values并打印结果,它将打印无。

更改递归调用,以使它们调用print_values而不打印结果。

def print_values(self, root):
    if root != None:
        print(root.data)
        self.print_values(root.left)
        self.print_values(root.right)

答案 1 :(得分:1)

您正在打电话

print(self.print_values(root.left))

self.print_values函数打印值,然后返回 None。因此,首先获得由print_values打印的值,然后得到print(None),因为这就是self.print_values返回的结果。