本文用递归的方法实现二叉树的三种顺序遍历,后面再补上迭代方法,也就是循环方法:
递归方法:
class TreeNode:
def __init__(self,x):
self.val=x
self.left=None
self.right=None
def preOrder(root):
''' 前序'''
if not root: # 等价于 if root==None
return
print(root.val) #根节点
preOrder(root.left)
preOrder(root.right)
def tinOrder(root):
''' 中序'''
if root==None:
return
tinOrder(root.left)
print(root.val)
tinOrder(root.right)
def lastOrder(root):
''' 后序'''
if root==None:
return
lastOrder(root.left)
lastOrder(root.right)
print(root.val)