class Node(object):
def __init__(self,val=None):
self.val = val
self.left = None
self.right = None
def printTree(root):
if not root:
return
print('Binary Tree')
printInorder(root, 0, 'H', 17)
def printInorder(root, height, preStr, length):
if not root:
return
printInorder(root.right, height+1, 'V', length)
string = preStr + str(root.val) + preStr
leftLen = (length - len(string))//2
rightLen = length - len(string) - leftLen
res = " "*leftLen + string + " "*rightLen
print(" "*height*length + res)
printInorder(root.left, height+1, '^',length)
head = Node(1)
head.left = Node(-222222222)
head.right = Node(3)
head.left.left = Node(523)
head.right.left = Node(55555555)
head.right.right = Node(66)
head.left.left.right = Node(777)
printTree(head)
直观打印二叉树 Python
最新推荐文章于 2023-04-16 11:37:17 发布