描述

给定某二叉树的前序遍历和中序遍历,请重建出该二叉树并返回它的头结点。

例如输入前序遍历序列{1,2,4,7,3,5,6,8}和中序遍历序列{4,7,2,1,5,3,8,6},则重建出如下图所示。

提示:

1.0 <= pre.length <= 2000

2.vin.length == pre.length

3.-10000 <= pre[i], vin[i] <= 10000

4.pre 和 vin 均无重复元素

5.vin出现的元素均出现在 pre里

6.只需要返回根结点,系统会自动输出整颗树做答案对比

import java.util.Arrays;
public class Solution {public TreeNode reConstructBinaryTree(int [] pre,int [] vin) {if(pre.length == 0|| vin.length == 0){return null;}//根节点TreeNode root = new TreeNode(pre[0]);for(int i = 0;i<vin.length;i++){if(vin[i]==pre[0]){//左子树root.left = reConstructBinaryTree(Arrays.copyOfRange(pre,1,i+1),Arrays.copyOfRange(vin,0,i));//右子树root.right = reConstructBinaryTree(Arrays.copyOfRange(pre,i+1,pre.length),Arrays.copyOfRange(vin,i+1,vin.length));}}return root;}
}

JZ4 重建二叉树--java实现相关推荐

  1. JAVA实现重建二叉树(《剑指offer》)

    最近在刷<剑指offer>里的编程题,但是网上关于<剑指offer>的解答多半是C或者C++的,而且官方(作者)也是在用C++进行讲解,这里自己用java写了一些题目的解答代码 ...

  2. 剑指Offer(Java实现)重建二叉树

    题目描述 输入某二叉树的前序遍历和中序遍历的结果,请重建出该二叉树.假设输入的前序遍历和中序遍历的结果中都不含重复的数字.例如输入前序遍历序列{1,2,4,7,3,5,6,8}和中序遍历序列{4,7, ...

  3. 【剑指offer - C++/Java】4、重建二叉树

    牛客网题目链接:重建二叉树 文章目录 0 题目描述: 1.题目分析 2.代码 2.1.java代码 2.2 C++代码 3.总结 0 题目描述: 输入某二叉树的前序遍历和中序遍历的结果,请重建出该二叉 ...

  4. 剑指offer面试题6 重建二叉树(java)

    注:(1)java中树的构建 (2)构建子树时可以直接利用Arrays.copyOfRange(preorder, from, to),这个方法是左开右闭的 1 package com.xsf.Sor ...

  5. 重建二叉树(Java)

    牛客链接 重建二叉树 题目 输入某二叉树的前序遍历和中序遍历的结果,请重建出该二叉树.假设输入的前序遍历和中序遍历的结果中都不含重复的数字.例如输入前序遍历序列{1,2,4,7,3,5,6,8}和中序 ...

  6. java 重建二叉树_【剑指offer】 Java实现重建二叉树

    /** * @Author: DaleyZou * @Description: 重建二叉树 * 输入某二叉树的前序遍历和中序遍历的结果,请重建出该二叉树. * 假设输入的前序遍历和中序遍历的结果中都不 ...

  7. 二叉树的建立与遍历_51、二叉树遍历-重建二叉树JZ4

    题目描述 输入某二叉树的前序遍历和中序遍历的结果,请重建出该二叉树.假设输入的前序遍历和中序遍历的结果中都不含重复的数字.例如输入前序遍历序列{1,2,4,7,3,5,6,8}和中序遍历序列{4,7, ...

  8. 【剑指Offer】面试招聘题目2:重建二叉树

    题目链接:http://ac.jobdu.com/problem.php?cid=1039&pid=1 题目描述: 题目描述: 输入某二叉树的前序遍历和中序遍历的结果,请重建出该二叉树.假设输 ...

  9. 剑指offer 重建二叉树

    题目描述 输入某二叉树的前序遍历和中序遍历的结果,请重建出该二叉树.假设输入的前序遍历和中序遍历的结果中都不含重复的数字.例如输入前序遍历序列{1,2,4,7,3,5,6,8}和中序遍历序列{4,7, ...

最新文章

  1. 猫哥教你写爬虫 046--协程-实践-吃什么不会胖
  2. dma访问主存时_STM32F103单片机(五)——DMA
  3. 分享人生第一个游戏源代码
  4. 用DirectionalViewPager代替ViewPager
  5. 信息奥赛一本通基础之一维数组
  6. 无心剑随感《爱心教育》
  7. golang实现的布隆过滤器_面试官:都 2020 年,你在干嘛?还不知道布隆过滤器
  8. mongodb 远程访问配置
  9. 腾讯音乐Q3财报多点开花,属于数字音乐时代的新浪潮已至
  10. 微服务升级_SpringCloud Alibaba工作笔记0024---Nacos集群_以及持久化配置_架构说明
  11. 贪心算法实例java,算法java实现--贪心算法--哈弗曼编码
  12. 如何在 SVG 和 Canvas 之间进行选择
  13. Node.js 中文乱码解决
  14. 计算机怎么远程桌面,电脑怎么打开远程桌面连接功能
  15. [BZOJ4816][Sdoi2017]数字表格 数学
  16. 【2022年第十周周总结】拖延症啊。。。。算法题啊。。。。
  17. R语言学习:方差分析
  18. 亲密接触Redis-第三天(Redis的Load Balance)
  19. ubuntu18.04 安装mx250显卡驱动(超详细)
  20. 矩阵顺时针旋转90°、180°、270°

热门文章

  1. 腾讯云TDSQL监控库密码忘记问题解决实战
  2. 单词记忆系统二:音标字符输入(re从字符串中提取音标字符;依序打印音标字符;输入对应序号;替换序号。-> 完成“音标输入”)
  3. 尸体火化,世界上再也找不到第二个比我社死的人了
  4. 分享Qt多工程多目录的编译案例,subdirs
  5. Linux信号:SIGCHLD信号和僵尸进程
  6. 如何用计算机计算log除法,电脑系统自带科学计算器使用方法
  7. OMAP3530资料
  8. (玩转zabbix)硬盘硬件健康状态监控,部件寿命监控
  9. CTF Series Forensics
  10. Vmware安装win10报错:operating system not found