题解 | #实现二叉树先序,中序和后序遍历#

实现二叉树先序,中序和后序遍历

http://www.nowcoder.com/practice/a9fec6c46a684ad5a3abd4e365a9d362

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 = make([]int, 0)
var mid = make([]int, 0)
var nex = make([]int, 0)
func threeOrders( root *TreeNode ) [][]int {
    preTrave(root)
    midTrave(root)
    nexTrave(root)
    
    res := make([][]int, 3)
    res[0] = pre
    res[1] = mid
    res[2] = nex    
    return res
}

func preTrave(root *TreeNode ) {
    if root == nil {
        return 
    }
    pre = append(pre, root.Val)
    preTrave(root.Left)
    preTrave(root.Right)
    
}

func midTrave(root *TreeNode ) {
    if root == nil {
        return 
    }
    midTrave(root.Left)
    mid = append(mid, root.Val)
    midTrave(root.Right)
    
}


func nexTrave(root *TreeNode ) {
    if root == nil {
        return 
    }
    nexTrave(root.Left)
    nexTrave(root.Right)
    nex = append(nex, root.Val)
    
}
全部评论

相关推荐

不愿透露姓名的神秘牛友
07-11 17:10
什么素质,我请问呢,要掉小珍珠了。。。又憋屈又生气
苍蓝星上艾露:给它们能的,一群dinner牛马挥刀向更弱者罢了。我写的开源求职AI co-pilot工具,优化你的简历,找到你匹配的岗位,定制你的简历,并让你做好面试准备https://github.com/weicanie/prisma-ai
点赞 评论 收藏
分享
05-26 22:25
门头沟学院 Java
Java小肖:不会是想叫你过去把你打一顿吧,哈哈哈
点赞 评论 收藏
分享
评论
点赞
收藏
分享

创作者周榜

更多
牛客网
牛客网在线编程
牛客网题解
牛客企业服务