千家信息网

遍历序列怎样构造二叉树

发表于:2024-09-28 作者:千家信息网编辑
千家信息网最后更新 2024年09月28日,今天就跟大家聊聊有关遍历序列怎样构造二叉树,可能很多人都不太了解,为了让大家更加了解,小编给大家总结了以下内容,希望大家根据这篇文章可以有所收获。算法:该类题目的核心在于利用前序或者后序遍历找到根节点
千家信息网最后更新 2024年09月28日遍历序列怎样构造二叉树

今天就跟大家聊聊有关遍历序列怎样构造二叉树,可能很多人都不太了解,为了让大家更加了解,小编给大家总结了以下内容,希望大家根据这篇文章可以有所收获。

算法:

该类题目的核心在于利用前序或者后序遍历找到根节点,利用中序遍历分成左右两棵子树,然后递归操作即可。

前序遍历:根节点,左子树,右子树中序遍历:左子树,根节点,右子树后序遍历:左子树,右子树,根节点前序/后序先找到根节点,利用两种遍历场景的左/右子树的长度相同,找到中序的左右子树

题目1: 前序和中序构造二叉树

https://leetcode-cn.com/problems/construct-binary-tree-from-preorder-and-inorder-traversal/

代码实现:

/** * Definition for a binary tree node. * type TreeNode struct { *     Val int *     Left *TreeNode *     Right *TreeNode * } */func buildTree(preorder []int, inorder []int) *TreeNode {    if len(preorder) == 0 {        return nil    }    root := new(TreeNode)    root.Val = preorder[0]    var i int    for i

执行结果:

题目2:中序和后续构造二叉树

https://leetcode-cn.com/problems/construct-binary-tree-from-inorder-and-postorder-traversal/

代码实现:

/** * Definition for a binary tree node. * type TreeNode struct { *     Val int *     Left *TreeNode *     Right *TreeNode * } */func buildTree(inorder []int, postorder []int) *TreeNode {    if len(inorder) == 0 {        return nil    }    l := len(postorder)    root := &TreeNode{Val:postorder[l-1]}    i:=0    for i

执行结果:

看完上述内容,你们对遍历序列怎样构造二叉树有进一步的了解吗?如果还想了解更多知识或者相关内容,请关注行业资讯频道,感谢大家的支持。

子树 节点 相同 内容 长度 题目 序列 代码 场景 算法 结果 更多 核心 点位 父亲 知识 篇文章 行业 资讯 资讯频道 数据库的安全要保护哪些东西 数据库安全各自的含义是什么 生产安全数据库录入 数据库的安全性及管理 数据库安全策略包含哪些 海淀数据库安全审计系统 建立农村房屋安全信息数据库 易用的数据库客户端支持安全管理 连接数据库失败ssl安全错误 数据库的锁怎样保障安全 网络安全拟态防御应用 南京正厚软件开发面试 数据库除运算 企业跨行业收入的数据库哪里有 安全牛数据库防火墙 傲发专业型传真服务器a812 在向数据库中输入数据时 网络安全教育主题班会的效果 政府部门网络安全工作 网通便宜服务器租用 数据软件开发服务以客为尊 游戏服务器容纳人数 网络安全是两端对抗 中国民航PBN导航数据库 软件开发人员怎么写规划 萧山图书馆网络技术 达梦数据库市场总监曾令超 大象精灵软件开发有限公司老板照片 网络安全检测部门 网络安全教育主题班会总结 口碑最好的服务器电脑 网络安全设计的基础知识 网络软件开发排名靠前 邮件服务器部署 wbs 网络安全教育青少年日 电脑开了服务器手机怎么打开 海淀区正规软件开发诚信服务 甘肃筑牢网络安全防线是什么意思 计算机网络安全实验 泸州软件开发服务价格
0