[LeetCode] 根据前序序列和中序序列重建二叉树
来源:互联网 发布:美利坚仓储淘宝王无错 编辑:程序博客网 时间:2024/06/05 03:10
LeetCode 链接: 根据前序和中序序列重建二叉树
思路:
1、根据先序向量数组的值把中序向量数组一分为二,然后递归左右部分;
2、设置全局 index 索引,作为先序遍历向量的下标,每次递归左子树之后减一。
/** * Definition for a binary tree node. * public class TreeNode { * int val; * TreeNode left; * TreeNode right; * TreeNode(int x) { val = x; } * } */public class Solution { private int index = -1 ;public TreeNode buildTree(int[] preorder, int[] inorder) { return btConstruct(preorder, inorder, 0, preorder.length - 1) ; }public TreeNode btConstruct(int[] preorder, int[] inorder, int l, int r) {index ++ ;if(l > r || r > preorder.length) {return null ;}TreeNode root = new TreeNode(preorder[index]) ;int j ;for(j = l; j <= r; j ++) {if(preorder[index] == inorder[j]) {break ;}}if(j <= r) {root.left = btConstruct(preorder, inorder, l, j - 1) ;index -- ;root.right = btConstruct(preorder, inorder, j + 1, r) ;}return root ;}}
0 0
- [LeetCode] 根据前序序列和中序序列重建二叉树
- 根据前序和中序序列重建二叉树
- 根据前序和中序列 重建二叉树
- 根据前序遍历序列和中序遍历序列重建二叉树
- 根据前序遍历序列和中序遍历序列重建二叉树
- 根据前序序列和中序序列重建二叉树
- POJ 2255 根据二叉树的前序和中序序列来重建二叉树
- 根据二叉树的前序和中序序列来重建二叉树
- 根据前序和中序的遍历序列重建二叉树
- 剑指Offer_06 根据前序遍历和中序遍历序列 重建二叉树
- 剑指:根据输入的前序和中续遍历序列重建二叉树
- 前序和中序序列重建二叉树
- [LeetCode] 根据中序和后序序列重建二叉树
- 根据前序和中序序列重建二叉树 Construct Binary Tree from Preorder and Inorder Traversal
- 根据前序遍历(或者是后序遍历)和中序遍历得到的序列可以重建二叉树
- 根据前序和中序序列确定二叉树
- 根据中序序列和前序序列,求二叉树的后序序列
- 根据二叉树的前序序列和中序序列得到后序序列
- linux平台下防火墙iptables原理(转)
- 如何安装配置gradle及eclipse的结合
- NGUI小细节 生成与点击事件
- iOS Cookie介绍
- Spring中@Component注解,@Controller注解详解
- [LeetCode] 根据前序序列和中序序列重建二叉树
- Android语言国际化
- 表单js验证文件上传大小
- html5开发之viewport使用
- 机器学习降维算法一:PCA (Principal Component Analysis)
- 进程与线程的区别与联系
- 前置和后置操作符的区别(More Effective_C++_6(运算符))
- POJ 3480 John(尼姆变型,取光者输)
- 中兴应用之星携手天翼开放平台:让APP开发更简单