# 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: TreeNode) -> List[List[int]]:
# write code here
a, b, c = [], [], []
def dfs_a(pRoot):#先序,根-左-右
if not pRoot:
return
a.append(pRoot.val)
dfs_a(pRoot.left)
dfs_a(pRoot.right)
def dfs_b(pRoot):#中序,左-根-右
if not pRoot:
return
dfs_b(pRoot.left)
b.append(pRoot.val)
dfs_b(pRoot.right)
def dfs_c(pRoot):#后序,左-右-根
if not pRoot:
return
dfs_c(pRoot.left)
dfs_c(pRoot.right)
c.append(pRoot.val)
dfs_a(root)
dfs_b(root)
dfs_c(root)
return [a,b,c]