憨憨解法,三种遍历写三种递归

# 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
        def pre(root,res):
            if not root:
                return
            res.append(root.val)
            pre(root.left,res)
            pre(root.right,res)
            
        
        def inner(root,res):
            if not root:
                return
            inner(root.left, res)
            res.append(root.val)
            inner(root.right, res)
            
        def after(root,res):
            if not root:
                return
            after(root.left, res)
            after(root.right, res)
            res.append(root.val)
            
        res=[]
        a,b,c=[],[],[]
        pre(root, a)
        inner(root, b)
        after(root, c)
        res.extend([a,b,c])
        return res