面试题6:重建二叉树
来源:互联网 发布:linux开启登录超时锁定 编辑:程序博客网 时间:2024/05/16 06:42
剑指Offer面试题6:重建二叉树(JS实现)
题目描述:输入某二叉树的前序遍历和中序遍历,请重建出该二叉树。假设输入的前序遍历和中序遍历的结果中都不含有重复的数字。例如,前序遍历序列:{1,2,3,7,3,5,6,8},中序遍历序列:{4,7,2,1,5,3,8,6}
var Node = function(key) { this.key = key; this.left = null; this.right = null; } function ConstructCore(preorder ,inorder) { if(preorder == null || inorder == null){ return null; } var rootValue = parseInt(preorder[0]); var root = new Node(rootValue); if(rootValue == inorder) { return root; } var leftLen = 0; while(inorder[leftLen] != rootValue) { leftLen++; } if(leftLen > 0) { root.left = ConstructCore(preorder.substring(1, leftLen+1), inorder.substring(0, leftLen)); } if(leftLen < preorder.length-1) { root.right = ConstructCore(preorder.substring(leftLen+1, preorder.length), inorder.substring(leftLen+1, preorder.length)); } return root; } console.log(ConstructCore('12473568', '47215386'));
0 0
- 面试题6:重建二叉树
- 重建二叉树(面试题 6)
- 面试题6:重建二叉树
- 面试题6- 重建二叉树
- 面试题6 重建二叉树
- 面试题6:重建二叉树
- 面试题6 重建二叉树
- 面试题6:重建二叉树
- 面试题6:重建二叉树
- 面试题6:重建二叉树
- 面试题6:重建二叉树
- 面试题6:重建二叉树
- 面试题6:重建二叉树
- 面试题6: 二叉树的重建
- 面试题6:重建二叉树
- 【面试题6】重建二叉树
- 面试题6:重建二叉树
- 面试题6:重建二叉树
- Serializable和Parcelable
- 在SQL Server中创建用户角色及授权
- 单例模式及C++实现代码
- 判断用户flash是否安装了flash以及flash的版本
- Dao模式
- 面试题6:重建二叉树
- Distribute Candies
- 数据结构之栈(链表栈)
- 域名解析过程,很好的一张图收藏了
- Pascal学习之路3——变量运算,场宽
- 事务与储存过程
- jquery ajax请求问题
- 关于malloc(0)的一点疑问
- [编程之美-02]字符串的包含问题