如何重建python二叉树
发表于:2026-11-02 作者:千家信息网编辑
千家信息网最后更新 2026年11月02日,如何重建python二叉树,很多新手对此不是很清楚,为了帮助大家解决这个难题,下面小编将为大家详细讲解,有这方面需求的人可以来学习下,希望你能有所收获。题目描述输入某二叉树的前序遍历和中序遍历的结果,
千家信息网最后更新 2026年11月02日如何重建python二叉树
如何重建python二叉树,很多新手对此不是很清楚,为了帮助大家解决这个难题,下面小编将为大家详细讲解,有这方面需求的人可以来学习下,希望你能有所收获。
题目描述
输入某二叉树的前序遍历和中序遍历的结果,请重建出该二叉树。假设输入的前序遍历和中序遍历的结果中都不含重复的数字。例如输入前序遍历序列{1,2,4,7,3,5,6,8}和中序遍历序列{4,7,2,1,5,3,8,6},则重建二叉树并返回。
思路
前序遍历的第一个值为根节点的值,使用这个值将中序遍历结果分成两部分,左部分为树的左子树中序遍历结果,右部分为树的右子树中序遍历的结果,递归地去分别构建它的左右子树。
代码实现
package Tree;import java.util.HashMap;/*** 重建二叉树* 输入某二叉树的前序遍历和中序遍历的结果,请重建出该二叉树。假设输入的前序遍历和中序遍历的结果中都不含重复的数字。例如输入前序遍历序列{1,2,4,7,3,5,6,8}和中序遍历序列{4,7,2,1,5,3,8,6},则重建二叉树并返回。*/public class Solution54 {private HashMapinOrderNumsIdx = new HashMap<>(); // 缓存中序遍历数组的每个值对应的索引 public TreeNode reConstructBinaryTree(int[] pre, int[] in) {for (int i = 0; i < in.length; i++) {inOrderNumsIdx.put(in[i], i);}return reConstructBinaryTree(pre, 0, pre.length - 1, in, 0, in.length - 1);}private TreeNode reConstructBinaryTree(int[] pre, int preL, int preR, int[] in, int inL, int inR) {if (preL == preR) return new TreeNode(pre[preL]);if (preL > preR || inL > inR) return null;// 创建当前根节点,并为根节点赋值TreeNode root = new TreeNode(pre[preL]);int inIdx = inOrderNumsIdx.get(root.val);int leftTreeSize = inIdx - inL;// 构建左子树root.left = reConstructBinaryTree(pre, preL + 1, preL + leftTreeSize, in, inL, inL + leftTreeSize - 1);// 构建右子树root.right = reConstructBinaryTree(pre, preL + leftTreeSize + 1, preR, in, inL + leftTreeSize + 1, inR);return root;}public class TreeNode {int val;TreeNode left;TreeNode right;TreeNode(int x) {val = x;}}}
看完上述内容是否对您有帮助呢?如果还想对相关知识有进一步的了解或阅读更多相关文章,请关注行业资讯频道,感谢您对的支持。
结果
输入
子树
序列
节点
数字
帮助
清楚
代码
内容
对此
思路
数组
文章
新手
更多
知识
索引
缓存
行业
数据库的安全要保护哪些东西
数据库安全各自的含义是什么
生产安全数据库录入
数据库的安全性及管理
数据库安全策略包含哪些
海淀数据库安全审计系统
建立农村房屋安全信息数据库
易用的数据库客户端支持安全管理
连接数据库失败ssl安全错误
数据库的锁怎样保障安全
上海卓越科技互联网
深圳九邦互联网科技有限公司
互联网科技公司电话
善班互联网科技
唐信互联网科技
艾特科技互联网
互联网科技ppt模板
碳银互联网科技有限公司
互联网高科技股票
中国科技互联网公司收入
福州新华互联网科技学校 知乎
昭通云南众福互联网科技有限公司
洛阳共同富裕互联网科技有限公司
世界互联网领先科技成果获奖
为客找房互联网科技公司怎么样
广州百诚互联网科技有限公司官网
江苏互联网智能科技产品出厂价
互联网科技收购价值
现代互联网科技公司
北京品多多互联网科技有限公司
重生之互联网科技帝国
涨乐互联网科技
互联网科技社
华宇互联网科技
无线互联网科技
互联网科技公司需要的职位
恒银科技与互联网金融
科技互联网的核心竞争力
互联网科技实习生岗位
图游互联网科技
- 上一篇
kafka 生产发送消息失败无响应或者Error while fetching metadata with correlation id该怎么办
kafka 生产发送消息失败无响应或者Error while fetching metadata with correlation id该怎么办,很多新手对此不是很清楚,为了帮助大家解决这个难题,下面
- 下一篇
OpenCV中的基础数据类型是什么
OpenCV中的基础数据类型是什么,很多新手对此不是很清楚,为了帮助大家解决这个难题,下面小编将为大家详细讲解,有这方面需求的人可以来学习下,希望你能有所收获。下面我们主要介绍下OpenCV中常见的8