题解 | #实现二叉树先序,中序和后序遍历#
实现二叉树先序,中序和后序遍历
http://www.nowcoder.com/practice/a9fec6c46a684ad5a3abd4e365a9d362
# class TreeNode:
# def __init__(self, x):
# self.val = x
# self.left = None
# self.right = None
#
#
# @param root TreeNode类 the root of binary tree
# @return int整型二维数组
#
class Solution:
def threeOrders(self , root ):
# write code here
res, tmp = [], []
def preOrder(root): # 前序
if not root: return []
tmp.append(root.val) # 根
preOrder(root.left) # 左
preOrder(root.right) # 右
def inOrder(root): # 中序
if not root: return []
inOrder(root.left) # 左
tmp.append(root.val) # 根
inOrder(root.right) # 右
def postOrder(root): # 后序
if not root: return []
postOrder(root.left) # 左
postOrder(root.right) # 右
tmp.append(root.val) # 根
preOrder(root)
res.append(tmp)
tmp = []
inOrder(root)
res.append(tmp)
tmp = []
postOrder(root)
res.append(tmp)
return res