剑指offer-面试题6:重建二叉树
来源:互联网 发布:大月氏 知乎 编辑:程序博客网 时间:2024/06/18 08:05
题目
输入某二叉树的前序遍历和中序遍历的结果,请重建出该二叉树。假设输入的前序遍历和中序遍历的结果中都不含重复的数字。
解
public static TreeNode buildTree(int[] preOrder, int start,int[] inOrder,int end,int length){ //参数验证 if(preOrder==null||preOrder.length==0 ||inOrder==null||inOrder.length==0||length<=0){ return null; } //建立子树根节点 int value=preOrder[start]; TreeNode root=new TreeNode(value); //递归终止条件:子树只有一个节点 if(length==1){ return root; } //分拆子树的左子树和右子树 int i=0; while(i<length){ if(value==inOrder[end-i]){ break; } i++; } //建立子树的左子树 root.left=buildTree(preOrder,start+1,inOrder,end-1-i,length-1-i); root.right=buildTree(preOrder,start+length-i,inOrder,end,i); return root;}
0 0
- 《剑指Offer》面试题-重建二叉树
- 剑指offer--面试题6: 重建二叉树(树)
- 剑指offer-->面试题6 重建二叉树
- 【剑指offer】面试题6:重建二叉树
- 《剑指offer》面试题6:重建二叉树
- 剑指offer 面试题6 重建二叉树
- 剑指Offer:面试题6 重建二叉树
- 《剑指offer》面试题6:重建二叉树
- 《剑指offer》面试题6重建二叉树
- 剑指offer面试题6--重建二叉树
- 理解《剑指Offer》之面试题6 重建二叉树
- 剑指offer 面试题6 重建二叉树
- 剑指offer面试题6 重建二叉树(c)
- 剑指offer面试题6 重建二叉树(java)
- 《剑指Offer》面试题6:重建二叉树
- 剑指offer--面试题6:重建二叉树--Java实现
- 【剑指Offer学习】【面试题6 :重建二叉树】
- 《剑指Offer》学习笔记--面试题6:重建二叉树
- xapian简介<四>
- 文章标题
- linux下邮件发送
- iOS 网络加载转码
- Android 按钮点击变换颜色
- 剑指offer-面试题6:重建二叉树
- oracle 取部分表备份的引用脚本
- 公众号第三方平台 接入与全网发布
- XML反射解析
- 读写mongo GridFs中的文件
- 如何自学Android
- 字符编码简单介绍
- 为什么离散傅里叶变换中谐波信号数目是有限的?
- Mybites+log4j 控制台输出sql