# 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
pre_list = []
in_list = []
post_list = []
def preorder(leaf: TreeNode):
if not leaf:
return
pre_list.append(leaf.val)
preorder(leaf.left)
preorder(leaf.right)
def inorder(leaf: TreeNode):
if not leaf:
return
inorder(leaf.left)
in_list.append(leaf.val)
inorder(leaf.right)
def postorder(leaf: TreeNode):
if not leaf:
return
postorder(leaf.left)
postorder(leaf.right)
post_list.append(leaf.val)
preorder(root)
inorder(root)
postorder(root)
result = []
result.append(pre_list)
result.append(in_list)
result.append(post_list)
return result