2024年剑指offer---根据前序遍历和中序遍历确定树,应届毕业生硬件工程师面试题库

总结

作为一名从事Android的开发者,很多人最近都在和我吐槽Android是不是快要凉了?而在我看来这正是市场成熟的表现,所有的市场都是温水煮青蛙,永远会淘汰掉不愿意学习改变,安于现状的那批人,希望所有的人能在大浪淘沙中留下来,因为对于市场的逐渐成熟,平凡并不是我们唯一的答案!

资料.png
资料图.jpg

网上学习资料一大堆,但如果学到的知识不成体系,遇到问题时只是浅尝辄止,不再深入研究,那么很难做到真正的技术提升。

需要这份系统化学习资料的朋友,可以戳这里获取

一个人可以走的很快,但一群人才能走的更远!不论你是正从事IT行业的老鸟或是对IT行业感兴趣的新人,都欢迎加入我们的的圈子(技术交流、学习资源、职场吐槽、大厂内推、面试辅导),让我们一起学习成长!

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

思路:

注意 前序遍历和中序遍历时根节点和左子树都在右子树前面。所以根据前序遍历确定根节点,再根据在中序遍历确定左右子树的元素,递归向下找出所有节点的左右子树元素。


TreeNode* reConstructBinaryTree(vector<int> pre, vector<int> vin) {

		if (pre.size() == 0) 

			return NULL;

		int root = 0;

		vector<int> preleft, preright, vinleft, vinright;

		//前序遍历第一个一定是根节点

		TreeNode *p = new TreeNode(pre[0]);

		//找根节点在中序遍历中的位置

		for (int i = 0; i < vin.size(); ++i) {

			if (vin[i] == pre[0])

			{

				root = i;

				break;

			}

		}

		//分离根节点下的左右子树

		for (int i = 0; i < root; ++i)

		{

			vinleft.push_back(vin[i]);

			preleft.push_back(pre[i + 1]);//左子树的前序遍历措一位正好和中序遍历中的元素相同



## 总结

算法知识点繁多,企业考察的题目千变万化,面对越来越近的“金九银十”,我给大家准备好了一套比较完善的学习方法,希望能帮助大家在有限的时间里尽可能系统快速的恶补算法,通过高效的学习来提高大家面试中算法模块的通过率。

这一套学习资料既有文字档也有视频,里面不仅仅有关键知识点的整理,还有案例的算法相关部分的讲解,可以帮助大家更好更全面的进行学习,二者搭配起来学习效果会更好。


**部分资料展示:**

![](https://img-blog.csdnimg.cn/img_convert/bcff1353e6e7ab22e7b34c133e0f7d60.webp?x-oss-process=image/format,png)
![](https://img-blog.csdnimg.cn/img_convert/0dc4e715ffb037c0c90cf057b41e53b2.webp?x-oss-process=image/format,png)
![](https://img-blog.csdnimg.cn/img_convert/12540e96ac6e325511d46c998f6c43ce.webp?x-oss-process=image/format,png)
![](https://img-blog.csdnimg.cn/img_convert/d530bc1ada670dbb7fabef5134258573.webp?x-oss-process=image/format,png)

**有了这套学习资料,坚持刷题一周,你就会发现自己的算法知识体系有明显的完善,离大厂Offer的距离更加近。**




**网上学习资料一大堆,但如果学到的知识不成体系,遇到问题时只是浅尝辄止,不再深入研究,那么很难做到真正的技术提升。**

**[需要这份系统化学习资料的朋友,可以戳这里获取](https://bbs.csdn.net/topics/618156601)**

**一个人可以走的很快,但一群人才能走的更远!不论你是正从事IT行业的老鸟或是对IT行业感兴趣的新人,都欢迎加入我们的的圈子(技术交流、学习资源、职场吐槽、大厂内推、面试辅导),让我们一起学习成长!**

可以走的很快,但一群人才能走的更远!不论你是正从事IT行业的老鸟或是对IT行业感兴趣的新人,都欢迎加入我们的的圈子(技术交流、学习资源、职场吐槽、大厂内推、面试辅导),让我们一起学习成长!**

  • 10
    点赞
  • 3
    收藏
    觉得还不错? 一键收藏
  • 0
    评论

“相关推荐”对你有帮助么?

  • 非常没帮助
  • 没帮助
  • 一般
  • 有帮助
  • 非常有帮助
提交
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值