class BinTNode:
def __init__(self, dat, left=None, right=None):
self.data = dat
#左右子树
self.left = left
self.right = right
def print_BinTNodes(t, tree=""):
if t is None:
#表示空树输出
print("^", end="")
return
print("(" + str(t.data), end="")
print_BinTNodes(t.left)
print_BinTNodes(t.right)
print(")", end="")
#output:(1(2(5^^)^)(3^^))
#need to be:(1(2^(5^^))(3^^))
#why?
t = BinTNode(1, BinTNode(2,BinTNode(5)), BinTNode(3))
print_BinTNodes(t)
最后理应输出(1(2^(5^^))(3^^))
但是我的输出是(1(2(5^^)^)(3^^)),2节点的两个子树位置反了,请问是为什么呢