重建二叉树
来源:互联网 发布:小型单片机项目外包网 编辑:程序博客网 时间:2024/06/08 20:17
输入某二叉树的前序遍历和中序遍历的结果,请重建出该二叉树。假设输入的前序遍历和中序遍历的结果中都不含重复的数字。例如输入前序遍历序列{1,2,4,7,3,5,6,8}和中序遍历序列{4,7,2,1,5,3,8,6},则重建二叉树并返回。
class TreeNode { int val; TreeNode left; TreeNode right; TreeNode(int x) { val = x; } }public class ReConstructBinaryTree {/** * @param args */public TreeNode reConstructBinary(int [] pre,int [] in) {TreeNode root=new TreeNode(pre[0]);int len=pre.length;if(len==1){root.left=null;root.right=null;return root;}int rootval=root.val; int i; for(i=0;i<len;i++){ if(rootval==in[i]) break; } if(i>0) { int []pr=new int[i]; int []ino=new int[i]; for(int j=0;j<i;j++) { pr[j]=pre[j+1]; ino[j]=in[j]; } root.left=reConstructBinary(pr,ino); } else root.left=null;if(len-i-1>0){int []pr=new int[len-i-1];int []ino=new int[len-i-1];for(int j=i+1;j<len;j++){pr[j-i-1]=pre[j];ino[j-i-1]=in[j];}root.right=reConstructBinary(pr,ino);}elseroot.right=null;return root;}public static void main(String[] args) {// TODO Auto-generated method stub}}
阅读全文
0 0
- 3.9重建二叉树
- 重建二叉树
- 二叉树重建
- 二叉树重建
- 二叉树的重建
- 重建二叉树
- 重建二叉树
- 重建二叉树
- 重建二叉树
- 重建二叉树
- 重建二叉树
- 重建二叉树
- 重建二叉树
- 二叉树重建
- 二叉树重建
- 重建二叉树
- 重建二叉树
- 重建二叉树
- linux 下使用 tc 模拟网络延迟和丢包
- 继续深究支持向量机---超详细讲解(比三层理解SVM好)
- MQTT libmosquitto源码分析
- 基于i.MX6UL的wifi音响设计
- linux 硬盘格式化工具 的使用
- 重建二叉树
- 端口转发:nginx做后端,Apache做前端
- 微信小程序表单验证错误提示
- 欢迎使用CSDN-markdown编辑器
- Android动画(二)之帧动画(DrawableAnimation)
- C++ 生疏英文术语翻译整理
- 一个程序员对另一个准程序员的忠告
- android 使用广播监听网络状态
- leetcode_Remove Element