JZ4 重建二叉树--java实现
描述
给定某二叉树的前序遍历和中序遍历,请重建出该二叉树并返回它的头结点。
例如输入前序遍历序列{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实现相关推荐
- JAVA实现重建二叉树(《剑指offer》)
最近在刷<剑指offer>里的编程题,但是网上关于<剑指offer>的解答多半是C或者C++的,而且官方(作者)也是在用C++进行讲解,这里自己用java写了一些题目的解答代码 ...
- 剑指Offer(Java实现)重建二叉树
题目描述 输入某二叉树的前序遍历和中序遍历的结果,请重建出该二叉树.假设输入的前序遍历和中序遍历的结果中都不含重复的数字.例如输入前序遍历序列{1,2,4,7,3,5,6,8}和中序遍历序列{4,7, ...
- 【剑指offer - C++/Java】4、重建二叉树
牛客网题目链接:重建二叉树 文章目录 0 题目描述: 1.题目分析 2.代码 2.1.java代码 2.2 C++代码 3.总结 0 题目描述: 输入某二叉树的前序遍历和中序遍历的结果,请重建出该二叉 ...
- 剑指offer面试题6 重建二叉树(java)
注:(1)java中树的构建 (2)构建子树时可以直接利用Arrays.copyOfRange(preorder, from, to),这个方法是左开右闭的 1 package com.xsf.Sor ...
- 重建二叉树(Java)
牛客链接 重建二叉树 题目 输入某二叉树的前序遍历和中序遍历的结果,请重建出该二叉树.假设输入的前序遍历和中序遍历的结果中都不含重复的数字.例如输入前序遍历序列{1,2,4,7,3,5,6,8}和中序 ...
- java 重建二叉树_【剑指offer】 Java实现重建二叉树
/** * @Author: DaleyZou * @Description: 重建二叉树 * 输入某二叉树的前序遍历和中序遍历的结果,请重建出该二叉树. * 假设输入的前序遍历和中序遍历的结果中都不 ...
- 二叉树的建立与遍历_51、二叉树遍历-重建二叉树JZ4
题目描述 输入某二叉树的前序遍历和中序遍历的结果,请重建出该二叉树.假设输入的前序遍历和中序遍历的结果中都不含重复的数字.例如输入前序遍历序列{1,2,4,7,3,5,6,8}和中序遍历序列{4,7, ...
- 【剑指Offer】面试招聘题目2:重建二叉树
题目链接:http://ac.jobdu.com/problem.php?cid=1039&pid=1 题目描述: 题目描述: 输入某二叉树的前序遍历和中序遍历的结果,请重建出该二叉树.假设输 ...
- 剑指offer 重建二叉树
题目描述 输入某二叉树的前序遍历和中序遍历的结果,请重建出该二叉树.假设输入的前序遍历和中序遍历的结果中都不含重复的数字.例如输入前序遍历序列{1,2,4,7,3,5,6,8}和中序遍历序列{4,7, ...
最新文章
- 猫哥教你写爬虫 046--协程-实践-吃什么不会胖
- dma访问主存时_STM32F103单片机(五)——DMA
- 分享人生第一个游戏源代码
- 用DirectionalViewPager代替ViewPager
- 信息奥赛一本通基础之一维数组
- 无心剑随感《爱心教育》
- golang实现的布隆过滤器_面试官:都 2020 年,你在干嘛?还不知道布隆过滤器
- mongodb 远程访问配置
- 腾讯音乐Q3财报多点开花,属于数字音乐时代的新浪潮已至
- 微服务升级_SpringCloud Alibaba工作笔记0024---Nacos集群_以及持久化配置_架构说明
- 贪心算法实例java,算法java实现--贪心算法--哈弗曼编码
- 如何在 SVG 和 Canvas 之间进行选择
- Node.js 中文乱码解决
- 计算机怎么远程桌面,电脑怎么打开远程桌面连接功能
- [BZOJ4816][Sdoi2017]数字表格 数学
- 【2022年第十周周总结】拖延症啊。。。。算法题啊。。。。
- R语言学习:方差分析
- 亲密接触Redis-第三天(Redis的Load Balance)
- ubuntu18.04 安装mx250显卡驱动(超详细)
- 矩阵顺时针旋转90°、180°、270°
热门文章
- 腾讯云TDSQL监控库密码忘记问题解决实战
- 单词记忆系统二:音标字符输入(re从字符串中提取音标字符;依序打印音标字符;输入对应序号;替换序号。-> 完成“音标输入”)
- 尸体火化,世界上再也找不到第二个比我社死的人了
- 分享Qt多工程多目录的编译案例,subdirs
- Linux信号:SIGCHLD信号和僵尸进程
- 如何用计算机计算log除法,电脑系统自带科学计算器使用方法
- OMAP3530资料
- (玩转zabbix)硬盘硬件健康状态监控,部件寿命监控
- CTF Series Forensics
- Vmware安装win10报错:operating system not found