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

京公网安备 11010502036488号