剑指offer——4.重建二叉树
来源:互联网 发布:大专女生知乎 编辑:程序博客网 时间:2024/06/06 01:28
题目描述
输入某二叉树的前序遍历和中序遍历的结果,请重建出该二叉树。假设输入的前序遍历和中序遍历的结果中都不含重复的数字。例如输入前序遍历序列{1,2,4,7,3,5,6,8}和中序遍历序列{4,7,2,1,5,3,8,6},则重建二叉树并返回。
代码
思路:二叉树前序遍历第一个点为根节点,中序遍历顺序为先左子树然后根节点最后右子树。所以先通过前序遍历找出根节点,然后将中序遍历分为左右子树两组,最后对于每个子树依次递归调用。
function reConstructBinaryTree(pre, vin){ // write code here if(pre.length==0 || vin.length==0) return null; var index=vin.indexOf(pre[0]); var left=vin.slice(0,index);//中序左子树 var right=vin.slice(index+1);//中序右子树 return { val:pre[0], //递归左右子树的前序,中序 left:reConstructBinaryTree(pre.slice(1,index+1),left), right:reConstructBinaryTree(pre.slice(index+1),right) }; }
阅读全文
0 0
- 剑指offer——重建二叉树
- 《剑指offer》——重建二叉树
- 剑指Offer——重建二叉树
- 剑指offer——重建二叉树
- 重建二叉树——剑指offer
- 剑指offer——重建二叉树
- 剑指offer——重建二叉树
- 剑指offer——重建二叉树
- 剑指offer——重建二叉树
- 剑指offer——重建二叉树
- 剑指offer——重建二叉树
- 剑指offer—重建二叉树
- 《剑指offer》—4、重建二叉树
- 剑指offer(4)—重建二叉树
- 剑指offer—重建二叉树
- 剑指offer——4.重建二叉树
- 剑指offer--4.重建二叉树
- 剑指offer-4.重建二叉树
- iOS开发 HealthKit初步探索
- HEVC
- android 为listview设置自定义adapter
- 牛客编程题-求1+...+n(不能用if,else,while,for,乘除法)(Java)
- View学习——Dialog焦点抢占问题
- 剑指offer——4.重建二叉树
- CSS3 两种类型的渐变(lineat Gradients线性渐变和Radial Gradients径向渐变)
- Centos6.5定时备份mysql
- mysql 主从复制
- 验证角谷猜想
- Zabbix搭建笔记[2]--Zabbix Agent(Client)的安装配置
- Mybatis通用Mapper
- sync 的使用
- Oil Deposits (DFS)