牛客网(剑指offer) 第四题 重建二叉树
//题目描述
//输入某二叉树的前序遍历和中序遍历的结果,请重建出该二叉树。假设输入的前序遍历和中序遍历的结果中都不含重复的数字。
//例如输入前序遍历序列{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) 第四题 重建二叉树相关推荐
- 《牛客网 剑指Offer前20题》
<剑指Offer> 牛客网 前20道题 前言知识 面试题1:二维数组中的查找 面试题2:二维数组中的查找 面试题3:从头到尾打印链表 面试题4:重建二叉树 ***** 面试题5:两个栈实现 ...
- 牛客网剑指offer编程实践1-10题
牛客网剑指offer编程实践1-10题 1.二维数组中的查找 在一个二维数组中(每个一维数组的长度相同),每一行都按照从左到右递增的顺序排序,每一列都按照从上到下递增的顺序排序.请完成一个函数,输入这 ...
- Day5.牛客网剑指offer 67题之43-54题(java代码)
文章目录 Day5.牛客网剑指offer 67题之43-54题 43.左旋转字符串 44.翻转单词顺序列 45.扑克牌顺序 46.孩子们的游戏 47.求1+2+...+n 48.不用加减乘除做加法 4 ...
- Java算法:牛客网Java版剑指Offer全套算法面试题目整理及电子档,Java算法与数据结构面试题,面试刷题、背题必备!牛客网剑指offer
剑指offer(java版) 牛客网Java版剑指Offer全套题目67道 资源来源于网络 目录 1.二维数组中的查找 2.替换空格 3.从尾到头打印链表 4.重建二叉树 5.用两个栈实现队列 6.旋 ...
- 牛客网剑指offer java 全部题解
经过数月的努力,终于更完了牛客网的66道剑指offer,以下的顺序和大家在牛客网的顺序是一样的(排序也花了不少时间),希望对大家找工作/提高算法能力能起到些许帮助. 每天一道剑指offer-二维数组中 ...
- 牛客网剑指offer——Java题解
剑指offer JZ1 二维数组中的查找 题目描述 在一个二维数组array中(每个一维数组的长度相同),每一行都按照从左到右递增的顺序排序,每一列都按照从上到下递增的顺序排序.请完成一个函数,输入这 ...
- 牛客网剑指offer(Python版)
剑指offer官网: https://www.nowcoder.com/ta/coding-interviews 写在前面的话 刷剑指offer的时候只需要提交函数核心部分,但是在公司实际笔试时却需 ...
- 牛客网剑指offer编程实践41-50题
41.和为S的连续正数序列 小明很喜欢数学,有一天他在做数学作业时,要求计算出9~16的和,他马上就写出了正确答案是100.但是他并不满足于此,他在想究竟有多少种连续的正数序列的和为100(至少包括两 ...
- 牛客网剑指Offer C++题解
[二维数组中的查找]:在一个二维数组中(每个一维数组的长度相同),每一行都按照从左到右递增的顺序排序,每一列都按照从上到下递增的顺序排序.请完成一个函数,输入这样的一个二维数组和一个整数,判断数组中是 ...
- string类函数和牛客网剑指offer刷题记录
1.strcat char* strcat(char *strDest,const char *strSrc){assert(strDest && strSrc);char *p = ...
最新文章
- c# hash 泛型_C# 泛型Dictionary (Hashtable)
- Ant 简单示例+环境变量配置说明
- ZooKeeper 典型的应用场景
- sed,awk,grep学习笔记
- netlink 0010 -- Generic Netlink 实现通信
- canon l11121e驱动_佳能L11121e驱动
- WPFAvalonDock基本用法
- e5服务器cpu性能排行,了解至强cpu!至强cpu性能排行榜及具体参数详解【详解】...
- 如何获取网页flash游戏的资源?
- 7个向上管理技巧,让你的职场一路开挂
- 2023最新整理,340份各行业求职简历模板,找工作必备!
- 『转】山世光导师致报考研究生的一封信
- win7怎么打开微软更新服务器地址,Win7旗舰版上的windows update服务无法启动
- 数据通信网络的基本概念
- 计算机语言三分钟怎么写,普通话测试话题范文30篇万能语句全国普通话测试三分钟说话万能模板.doc...
- C语言内部函数与外部函数
- 深度学习技术是我国制造光刻机弯道超车的机会吗?
- 国际公认的十大健康标准
- CreateSemaphore、OpenSemaphore、ReleaseSemaphore
- 【Hardware】串口驱动
热门文章
- Azure人工智能认知服务(AI·机器学习)
- python --> Python初阶 --> 基础语法 --> 条件和分支
- 使用DBLink方式同步远程数据库中含Blob、Clob字段表的问题解决
- SpringSecurityOAuth使用JWT Token实现SSO单点登录
- 【Python】远离 Python 最差实践,避免挖坑
- Azure 6 月新公布
- Socket阻塞与非阻塞,同步与异步、I/O模型
- Training—Managing Audio Playback
- ASP.NET MVC经典项目ProDinner项目解析(3)
- ExtJS学习:MVC模式案例(三)