题解 | #重建二叉树#

重建二叉树

http://www.nowcoder.com/practice/8a19cbe657394eeaac2f6ea9b0f6fcf6

package main
import . "nc_tools"

//递归,时空On
func reConstructBinaryTree( pre []int ,  vin []int ) *TreeNode {
    if len(pre) == 0 {
        return nil
    }

    root := &TreeNode{pre[0], nil, nil}

    i := 0
    for i = 0; i < len(vin); i++ {
        if vin[i] == pre[0] {
            break
        }
    }

    root.Left = reConstructBinaryTree(pre[1: len(vin[: i]) +1], vin[: i])
    root.Right = reConstructBinaryTree(pre[len(vin[: i]) +1: ], vin[i +1:])

    return root
}
全部评论
len(vin[: i]) +1 不就是i+1吗,为什么i+1不对
1 回复 分享
发布于 2022-05-21 15:35

相关推荐

不愿透露姓名的神秘牛友
昨天 17:46
暑期就挂了,秋招还有机会吗
大聪明777:研发提前批,14号刚开的,官网上面的配图上有写。提前批没过的话,秋招还可以投,不过前面的笔试/面试记录会被保留,供秋招参考
投递拼多多集团-PDD等公司10个岗位
点赞 评论 收藏
分享
Lorn的意义:你这标个前端是想找全栈吗?而且项目确实没什么含金量,技术栈太少了,边沉淀边找吧 现在学院本想就业好一点四年至少得高三模式两年加油吧
点赞 评论 收藏
分享
06-07 00:00
已编辑
腾讯_后端开发
点赞 评论 收藏
分享
评论
2
收藏
分享

创作者周榜

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