简单的使用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) }