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

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

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)
    
}
全部评论

相关推荐

09-22 09:42
门头沟学院 Java
牛客37185681...:马德,我感觉这是我面过最恶心的公司,一面是两个女hr,说什么实习前几个月属于试用期,试用期过了才能转成正式实习生,我***笑了,问待遇就是不说,问能不能接受全栈,沙币公司
如果可以选,你最想去哪家...
点赞 评论 收藏
分享
10-17 23:18
已编辑
西北农林科技大学 Web前端
独行m:给25可以试试,但他只能给12,那就是纯纯的事精
秋招,不懂就问
点赞 评论 收藏
分享
评论
点赞
收藏
分享

创作者周榜

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