//题目描述
//输入某二叉树的前序遍历和中序遍历的结果,请重建出该二叉树。假设输入的前序遍历和中序遍历的结果中都不含重复的数字。
//例如输入前序遍历序列{1,2,4,7,3,5,6,8}和中序遍历序列{4,7,2,1,5,3,8,6},则重建二叉树并返回。
//解题思路:前序遍历的首位是二叉树根节点  通过中序遍历找到该节点所在位置  则其前面的为左子树  后面的为右子树  各个子树有是同样的原理   递归思想
/*class TreeNode{var $val;var $left = NULL;var $right = NULL;function __construct($val){$this->val = $val;}
}*/
function reConstructBinaryTree($pre, $vin)
{$root =new TreeNode($pre[0]);//将根节点存入root节点对象$gen = array_search($pre[0], $vin);//根节点在中序遍历中的位置if($pre && $vin){    $root->left = reConstructBinaryTree( array_slice($pre,1,$gen),array_slice($vin,0,$gen));$root->right = reConstructBinaryTree( array_slice($pre,$gen+1),array_slice($vin,$gen+1));return $root;}}

牛客网(剑指offer) 第四题 重建二叉树相关推荐

  1. 《牛客网 剑指Offer前20题》

    <剑指Offer> 牛客网 前20道题 前言知识 面试题1:二维数组中的查找 面试题2:二维数组中的查找 面试题3:从头到尾打印链表 面试题4:重建二叉树 ***** 面试题5:两个栈实现 ...

  2. 牛客网剑指offer编程实践1-10题

    牛客网剑指offer编程实践1-10题 1.二维数组中的查找 在一个二维数组中(每个一维数组的长度相同),每一行都按照从左到右递增的顺序排序,每一列都按照从上到下递增的顺序排序.请完成一个函数,输入这 ...

  3. Day5.牛客网剑指offer 67题之43-54题(java代码)

    文章目录 Day5.牛客网剑指offer 67题之43-54题 43.左旋转字符串 44.翻转单词顺序列 45.扑克牌顺序 46.孩子们的游戏 47.求1+2+...+n 48.不用加减乘除做加法 4 ...

  4. Java算法:牛客网Java版剑指Offer全套算法面试题目整理及电子档,Java算法与数据结构面试题,面试刷题、背题必备!牛客网剑指offer

    剑指offer(java版) 牛客网Java版剑指Offer全套题目67道 资源来源于网络 目录 1.二维数组中的查找 2.替换空格 3.从尾到头打印链表 4.重建二叉树 5.用两个栈实现队列 6.旋 ...

  5. 牛客网剑指offer java 全部题解

    经过数月的努力,终于更完了牛客网的66道剑指offer,以下的顺序和大家在牛客网的顺序是一样的(排序也花了不少时间),希望对大家找工作/提高算法能力能起到些许帮助. 每天一道剑指offer-二维数组中 ...

  6. 牛客网剑指offer——Java题解

    剑指offer JZ1 二维数组中的查找 题目描述 在一个二维数组array中(每个一维数组的长度相同),每一行都按照从左到右递增的顺序排序,每一列都按照从上到下递增的顺序排序.请完成一个函数,输入这 ...

  7. 牛客网剑指offer(Python版)

    剑指offer官网:  https://www.nowcoder.com/ta/coding-interviews 写在前面的话 刷剑指offer的时候只需要提交函数核心部分,但是在公司实际笔试时却需 ...

  8. 牛客网剑指offer编程实践41-50题

    41.和为S的连续正数序列 小明很喜欢数学,有一天他在做数学作业时,要求计算出9~16的和,他马上就写出了正确答案是100.但是他并不满足于此,他在想究竟有多少种连续的正数序列的和为100(至少包括两 ...

  9. 牛客网剑指Offer C++题解

    [二维数组中的查找]:在一个二维数组中(每个一维数组的长度相同),每一行都按照从左到右递增的顺序排序,每一列都按照从上到下递增的顺序排序.请完成一个函数,输入这样的一个二维数组和一个整数,判断数组中是 ...

  10. string类函数和牛客网剑指offer刷题记录

    1.strcat char* strcat(char *strDest,const char *strSrc){assert(strDest && strSrc);char *p = ...

最新文章

  1. c# hash 泛型_C# 泛型Dictionary (Hashtable)
  2. Ant 简单示例+环境变量配置说明
  3. ZooKeeper 典型的应用场景
  4. sed,awk,grep学习笔记
  5. netlink 0010 -- Generic Netlink 实现通信
  6. canon l11121e驱动_佳能L11121e驱动
  7. WPFAvalonDock基本用法
  8. e5服务器cpu性能排行,了解至强cpu!至强cpu性能排行榜及具体参数详解【详解】...
  9. 如何获取网页flash游戏的资源?
  10. 7个向上管理技巧,让你的职场一路开挂
  11. 2023最新整理,340份各行业求职简历模板,找工作必备!
  12. 『转】山世光导师致报考研究生的一封信
  13. win7怎么打开微软更新服务器地址,Win7旗舰版上的windows update服务无法启动
  14. 数据通信网络的基本概念
  15. 计算机语言三分钟怎么写,普通话测试话题范文30篇万能语句全国普通话测试三分钟说话万能模板.doc...
  16. C语言内部函数与外部函数
  17. 深度学习技术是我国制造光刻机弯道超车的机会吗?
  18. 国际公认的十大健康标准
  19. CreateSemaphore、OpenSemaphore、ReleaseSemaphore
  20. 【Hardware】串口驱动

热门文章

  1. Azure人工智能认知服务(AI·机器学习)
  2. python --> Python初阶 --> 基础语法 --> 条件和分支
  3. 使用DBLink方式同步远程数据库中含Blob、Clob字段表的问题解决
  4. SpringSecurityOAuth使用JWT Token实现SSO单点登录
  5. 【Python】远离 Python 最差实践,避免挖坑
  6. Azure 6 月新公布
  7. Socket阻塞与非阻塞,同步与异步、I/O模型
  8. Training—Managing Audio Playback
  9. ASP.NET MVC经典项目ProDinner项目解析(3)
  10. ExtJS学习:MVC模式案例(三)