不能正常打印根值吗?


class Node:
def __init__ (self, data):
self.left = None
self.data = data
self.right = None

class BinaryTree:
def __init__(self):
self. i = -1
self.newnode = None

def Buildtree(self,nodes):
self.i = self.i + 1     # Just an Incrementer 
if (nodes[self.i] == -1):
return None
else:
self.newnode = Node(nodes[self.i])
self.newnode.left = self.Buildtree(nodes)
self.newnode.right = self.Buildtree(nodes)

return self.newnode

t = BinaryTree()
root = t.Buildtree([1,2,4,-1,-1,5,-1,-1,3,-1,6,-1,-1])
print(root)

为什么打印一些节点地址而不是根值是'1' ???请帮助

您正在打印root的值,该值由以下命令返回:

return self.newnode

Root是一个节点对象,在python中打印一个对象会打印该对象的地址。如果你想让它输出root的值,你必须指定:

print(root.data)

最新更新