剑指Offer - 面试题7. 重建二叉树(递归)
发布日期:2021-07-01 03:20:11
浏览次数:2
分类:技术文章
本文共 1148 字,大约阅读时间需要 3 分钟。
1. 题目
输入某二叉树的前序遍历和中序遍历的结果,请重建该二叉树。假设输入的前序遍历和中序遍历的结果中都不含重复的数字。
例如,给出前序遍历 preorder = [3,9,20,15,7]中序遍历 inorder = [9,3,15,20,7]返回如下的二叉树: 3 / \ 9 20 / \ 15 7 限制:0 <= 节点个数 <= 5000
来源:力扣(LeetCode)
链接:https://leetcode-cn.com/problems/zhong-jian-er-cha-shu-lcof 著作权归领扣网络所有。商业转载请联系官方授权,非商业转载请注明出处。2. 解题
相关题目:
请参考上面链接文章,不再赘述。
class Solution { unordered_mapin;public: TreeNode* buildTree(vector & preorder, vector & inorder) { if(preorder.empty()) return NULL; int i, n = preorder.size(); for(i = 0; i < n; ++i) in[inorder[i]] = i; return build(preorder,0,n-1,inorder,0,n-1); } TreeNode* build(vector & preorder, int sp, int ep, vector & inorder, int si, int ei) { if(ep-sp<0) return NULL; TreeNode* root = new TreeNode(preorder[sp]); int Proot = in[preorder[sp]]; int leftlen = Proot-si; int rightLen = ei-Proot; root->left = build(preorder,sp+1,sp+leftlen,inorder,si,Proot-1); root->right = build(preorder,sp+leftlen+1,sp+leftlen+rightLen,inorder,Proot+1,ei); return root; }};
转载地址:https://michael.blog.csdn.net/article/details/104294946 如侵犯您的版权,请留言回复原文章的地址,我们会给您删除此文章,给您带来不便请您谅解!
发表评论
最新留言
不错!
[***.144.177.141]2024年05月03日 15时55分08秒
关于作者
喝酒易醉,品茶养心,人生如梦,品茶悟道,何以解忧?唯有杜康!
-- 愿君每日到此一游!
推荐文章
Spring Cloud构建微服务架构:分布式服务跟踪(入门)【Dalston版】
2019-05-03
Spring Cloud构建微服务架构:消息驱动的微服务(消费组)【Dalston版】
2019-05-03
TestNG系列-第四章 testNG之命令行运行及参数详解
2019-05-03
TestNG系列-第五章 测试方法、测试类和测试分组
2019-05-03
TestNG系列-第五章 测试方法、测试类和测试分组(续1)
2019-05-03
TestNG系列-第五章 测试方法、测试类和测试分组(续2)-参数
2019-05-03
ExecutorService中submit和execute的区别
2019-05-03
Zookeeper学习
2019-05-03
Dubbo教程
2019-05-03
Timer和ScheduledThreadPoolExecutor
2019-05-03
java多线程之-ScheduleExecutorService方法
2019-05-03
TestNG 学习总结 - 套件测试(七)
2019-05-03
TestNG 学习总结 - 忽略测试(八)
2019-05-03
TestNG 学习总结 - 分组执行测试(九)
2019-05-03
TestNG 学习总结 - 异常测试(十)
2019-05-03
TestNG 学习总结 - 依赖测试(十一)
2019-05-03
TestNG 学习总结 - 参数化测试(十二)
2019-05-03
TestNG 学习总结 - TestNG运行JUnit测试(十三)
2019-05-03
TestNG 学习总结 - 测试结果报告(十四)
2021-07-06