# 首先定义树的数据结构classTreeNode:def__init__(self,val):
self.val = val
self.left =None
self.right =NoneclassSolution:# 先序遍历defpreorder(self,root):ifnot root:returnNoneprint(root.val,'- ',end='')
self.preorder(root.left)
self.preorder(root.right)# 中序遍历definorder(self,root):ifnot root:returnNone
self.inorder(root.left)print(root.val,'- ',end='')
self.inorder(root.right)# 后序遍历defpostorder(self,root):ifnot root:returnNone
self.postorder(root.left)
self.postorder(root.right)print(root.val,'- ',end='')
a,b,c,d,e,f =[TreeNode(x)for x in'abcdef']
a.left,a.right = b,c
b.left,b.right = d,e
c.right = f
s = Solution()
s.preorder(a)print()
s.inorder(a)print()
s.postorder(a)
输出:
a - b - d - e - c - f -
d - b - e - a - c - f -
d - e - b - f - c - a -