简单的使用go语言编写
package main
import . "nc_tools"
/*
 * type TreeNode struct {
 *   Val int
 *   Left *TreeNode
 *   Right *TreeNode
 * }
 */

/**
 * 
 * @param root TreeNode类 the root of binary tree
 * @return int整型二维数组
*/
var pre []int
var mid []int
var post []int
func threeOrders( root *TreeNode ) [][]int {
    // write code here
    pre = make([]int, 0)
    mid = make([]int, 0)
    post = make([]int, 0)
    preOrder(root)
    midOrder(root)
    postOrder(root)
    res := make([][]int, 0)
    res = append(res, pre)
    res = append(res, mid)
    res = append(res, post)
    return res
}

func preOrder(node *TreeNode) {
    if node == nil {
        return
    }
    pre = append(pre, node.Val)
    preOrder(node.Left)
    preOrder(node.Right)
}
func midOrder(node *TreeNode) {
    if node == nil {
        return
    }
    midOrder(node.Left)
    mid = append(mid, node.Val)
    midOrder(node.Right)
}
func postOrder(node *TreeNode){
    if node == nil {
        return
    }
    postOrder(node.Left)
    postOrder(node.Right)
    post = append(post, node.Val)
}