18ms(超过93%) 9600k(超过99%)

import java.util.*;

/*
 * public class TreeNode {
 *   int val = 0;
 *   TreeNode left = null;
 *   TreeNode right = null;
 * }
 */

public class Solution {
    /**
     * 
     * @param root TreeNode类 the root of binary tree
     * @return int整型二维数组
     */
    public int[][] threeOrders (TreeNode root) {
        // write code here
        List<Integer> result = new ArrayList<>();
        preOrder(root,result);
        int[][] nn = new int[3][result.size()];
        int[] pre = convertListToArray(result);
        nn[0] = pre;
        result.clear();
        inOrder(root,result);
        int[] in = convertListToArray(result);
        nn[1] = in;

        result.clear();
        postOrder(root,result);
        int[] post = convertListToArray(result);
        nn[2] = post;

        return nn;
    }

    public int[] convertListToArray(List<Integer> list){
        int[] nn = new int[list.size()];
        for(int i = 0;i<list.size();i++){
            nn[i] = list.get(i);
        }
        return nn;
    }
    /**
     * 
     * 先序
     */
    public List<Integer> preOrder(TreeNode node,List<Integer> result){
        if(node == null){
            return result;
        }
        int n = node.val;
        result.add(n);
        preOrder(node.left,result);
        preOrder(node.right,result);
        return result;
    }
     /**
     * 
     * 中序
     */
     public List<Integer> inOrder(TreeNode node,List<Integer> result){
        if(node == null){
            return result;
        }
        int n = node.val;
        inOrder(node.left,result);

        result.add(n);

        inOrder(node.right,result);
        return result;
    }
    /**
     * 
     * 后序
     */
    public List<Integer> postOrder(TreeNode node,List<Integer> result){
        if(node == null){
            return result;
        }
        int n = node.val;
        postOrder(node.left,result);

        postOrder(node.right,result);

        result.add(n);

        return result;
    }
}