最近在刷《剑指offer》里的编程题,但是网上关于《剑指offer》的解答多半是C或者C++的,而且官方(作者)也是在用C++进行讲解,这里自己用java写了一些题目的解答代码(当然也有部分是借鉴了网上别人的解答的,出处未注明敬请之处请指出,侵删),希望能对大家的学习有所帮助。

题目描述:

输入某二叉树的前序遍历和中序遍历的结果,请重建出该二叉树。假设输入的前序遍历和中序遍历的结果中都不含重复的数字。例如输入前序遍历序列{1,2,4,7,3,5,6,8}和中序遍历序列{4,7,2,1,5,3,8,6},则重建二叉树并返回。
牛客网题目框架:

ps.这里要求传入两个数组,一个是前序遍历序列,一个是中序遍历序列。

解答:

/*** Definition for binary tree* public class TreeNode {*     int val;*     TreeNode left;*     TreeNode right;*     TreeNode(int x) { val = x; }* }*/
publicclass Solution {public TreeNode reConstructBinaryTree(int[] pre,int[] in) {TreeNode root=reConstructBinaryTree(pre,0,pre.length-1,in,0,in.length-1);return root;}private TreeNode reConstructBinaryTree(int[] pre,int startPre,int endPre,int[] in,intstartIn,intendIn) {if(startPre>endPre||startIn>endIn)returnnull;TreeNode root=newTreeNode(pre[startPre]);for(inti=startIn;i<=endIn;i++)if(in[i]==pre[startPre]){root.left=reConstructBinaryTree(pre,startPre+1,startPre+i-startIn,in,startIn,i-1);root.right=reConstructBinaryTree(pre,i-startIn+startPre+1,endPre,in,i+1,endIn);}return root;}
}

JAVA实现重建二叉树(《剑指offer》)相关推荐

  1. java queue 最大值_[剑指offer题解]队列的最大值/滑动窗口的最大值

    前言 众所周知,<剑指offer>是一本"好书". 为什么这么说? 因为在技术面试中,它里面罗列的算法题在面试中出现的频率是非常非常高的. 有多高,以我目前不多的面试来 ...

  2. 剑指offer没有java版吗_剑指Offer(Java版) 持续更新中

    面试题2 单例(之前有整理,略) 面试题3 二维数组中的查找 public boolean find(int target, int [][] array) { boolean found = fal ...

  3. 【大总结3】leetcode解题总览(算法、剑指offer、SQL、多线程、shell)

    3/22更新 剑指offer 题目链接 建议大部分题都会做,都能比较快速且准确的写出来.关于做题方式,我的建议是:一道一道刷即可,因为难度一般,不用系统的学习什么知识,遇到实在不会的就跳过即可. 我这 ...

  4. 算法题解(剑指Offer篇)

    文章目录 栈与队列(简单) *剑指 Offer 09. 用两个栈实现队列 - 12.27 剑指 Offer 30. 包含min函数的栈 - 12.27 链表(简单) *剑指 Offer 06. 从尾到 ...

  5. 《剑指offer》题目说明

    剑指offer推荐刷题地址: Leetcode: https://leetcode-cn.com/problemset/lcof (官方授权) 牛客网:https://www.nowcoder.com ...

  6. C#LeetCode刷题-剑指Offer

    本文由 比特飞 原创发布,欢迎大家踊跃转载. 转载请注明本文地址:C#LeetCode刷题-剑指Offer | .Net中文网. C#LEETCODE刷题概述 概述 所有LeetCode剑指Offer ...

  7. 力扣OJ 剑指 Offer(1-30)

    目录 剑指 Offer 03. 数组中重复的数字 剑指 Offer 04. 二维数组中的查找 剑指 Offer 05. 替换空格 剑指 Offer 06. 从尾到头打印链表 剑指 Offer 07. ...

  8. 《剑指offer》75题 C++详细题解

    目录 简单: 剑指 Offer 03. 数组中重复的数字 map: unordered_map: 原地交换 剑指 Offer 05. 替换空格 剑指 Offer 06. 从尾到头打印链表 出栈入栈 双 ...

  9. 《剑指offer》每日三题

    这里使用的是题库: https://leetcode.cn/problem-list/xb9nqhhg/?page=1 目录 剑指 Offer 07. 重建二叉树 剑指 Offer 14- I. 剪绳 ...

  10. leetcode刷题笔记——剑指offer(二)[回溯、排序、位运算、数学、字符串]

    这里写目录标题 搜索与回溯 剑指 Offer 12. 矩阵中的路径 剑指 Offer 13. 机器人的运动范围 剑指 Offer 34. 二叉树中和为某一值的路径 剑指 Offer 36. 二叉搜索树 ...

最新文章

  1. Leetcode 133. 克隆图 解题思路及C++实现
  2. 线段树——单点更新(二)
  3. JavaScript深入浅出第1课:箭头函数中的this究竟是什么鬼?
  4. java对象实例_深入理解Java对象实例生成的例子!(转)
  5. linux java 工具_Linux运维知识之linux下java版本管理工具jenv使用介绍
  6. linux c普通用户怎么判断键盘是否按动_网络没问题,电脑却无法联网怎么办?win10无法联网搞定方式举例...
  7. 【题解】 P4127 [AHOI2009]同类分布
  8. mysql5.0版本特性_mysql各版本的新特性整理
  9. html语言class,HTML DOM
  10. 超级搜索术2-人脉搜索/分类整理
  11. kindle看pdf不清楚_Kindle 对 PDF 的支持真的很糟糕吗?
  12. android 直播推流sdk,Android——直播推流SDK
  13. 2022年深圳市个人所得税计算程序
  14. Angular二级导航栏
  15. Linux高性能服务器编程——书籍阅读笔记
  16. HDU 6194 string string string :后缀数组+单调队列 | 后缀自动机
  17. Java 多线程快速入门(面试概念解答一)
  18. 深圳大数据培训:好程序员大数据学习路线之hive 存储格式
  19. python中定义元组的符号_python 3 基础之元组tuple,详解
  20. 网络数据包片段拼合(连续h264片段拼接成完整h264 slice)(三)循环体移到外部调用,便于调用者控制

热门文章

  1. Macbook pro 2016/2017 接入扩展坞时断 WIFI 问题的解决办法
  2. 如何从旧提交创建新的Git分支? [重复]
  3. Git每次推送时都会询问用户名
  4. 如何向MySQL表添加索引?
  5. 如何使用JavaScript替换字符串中的所有点
  6. 如何使用十进制range()步长值?
  7. Scrapy框架的使用之Scrapy对接Selenium
  8. Cannot connect to the Docker daemon. Is the docker daemon running on this host?
  9. 《R语言游戏数据分析与挖掘》一导读
  10. POJ 3057 Evacuation(二分匹配)