牛客网 | 重建二叉树
来源:互联网 发布:生态文明我知我行答案 编辑:程序博客网 时间:2024/06/05 09:49
输入某二叉树的前序遍历和中序遍历的结果,请重建出该二叉树。假设输入的前序遍历和中序遍历的结果中都不含重复的数字。例如输入前序遍历序列{1,2,4,7,3,5,6,8}和中序遍历序列{4,7,2,1,5,3,8,6},则重建二叉树并返回。
/** * Definition for binary tree * public class TreeNode { * int val; * TreeNode left; * TreeNode right; * TreeNode(int x) { val = x; } * } */public class Solution { public TreeNode reConstructBinaryTree(int [] pre,int [] in) { TreeNode head = constructBinaryTree(pre,0,pre.length-1,in,0,in.length-1); return head; } public TreeNode constructBinaryTree(int [] pre, int preStart,int preEnd, int[] in,int inStart,int inEnd) { if(preStart>preEnd||inStart>inEnd) return null; TreeNode newNode = new TreeNode(pre[preStart]); for (int i=inStart;i<=inEnd;i++) { if(pre[preStart]==in[i]) { newNode.left = constructBinaryTree(pre,preStart+1,preStart+i-inStart,in,inStart,i-1); newNode.right = constructBinaryTree(pre,preStart+i-inStart+1,preEnd,in,i+1,inEnd); break; } } return newNode; }}
0 0
- 牛客网 | 重建二叉树
- 【牛客网】重建二叉树
- [牛客网,剑指offer,python] 重建二叉树
- 牛客网-剑指offer-04-重建二叉树
- 3.9重建二叉树
- 重建二叉树
- 二叉树重建
- 二叉树重建
- 二叉树的重建
- 重建二叉树
- 重建二叉树
- 重建二叉树
- 重建二叉树
- 重建二叉树
- 重建二叉树
- 重建二叉树
- 重建二叉树
- 二叉树重建
- Swift高级开发语言--结构体,类,构造器,属性
- 冰材质1-iceTrans
- java中的代码初始化顺序
- Swift 基础语法 <与 OC作对比>
- UC/OS和UCGUI移植札记
- 牛客网 | 重建二叉树
- 机器学习(十一)机器学习系统设计的细节问题
- 栈和队列
- 点击两次返回键退出程序
- ios开发系列之Get与Post方式请求数据
- Android第三方框架 Universal-Image-Loader的使用,进一步封装
- android RecyclerView响应点击事件(二)
- C++打印当前文件名,行号,当前函数名
- 设计模式-适配器模式