news 2026/9/2 19:17:37

leetcode 889. Construct Binary Tree from Preorder and Postorder Traversal 根据前序和后序遍历构造二叉树

作者头像

张小明

前端开发工程师

1.2k 24
文章封面图
leetcode 889. Construct Binary Tree from Preorder and Postorder Traversal 根据前序和后序遍历构造二叉树

Problem: 889. Construct Binary Tree from Preorder and Postorder Traversal 根据前序和后序遍历构造二叉树

前序遍历是【根左右】,后序遍历是【左右根】,所以preorder第一个一定是根节点,postorder最后一个一定是根节点,两者一定相等,postorder倒数第二个一定是右子树的根节点,所以可以根据postorder倒数第二个将前序遍历划分开来,划分成左右子树,前序遍历确定好右子树节点个数以后就可以将后序遍历划分开

Code

/** * Definition for a binary tree node. * struct TreeNode { * int val; * TreeNode *left; * TreeNode *right; * TreeNode() : val(0), left(nullptr), right(nullptr) {} * TreeNode(int x) : val(x), left(nullptr), right(nullptr) {} * TreeNode(int x, TreeNode *left, TreeNode *right) : val(x), left(left), right(right) {} * }; */ class Solution { public: int preL, postL; TreeNode* construct(int preLeft, int preRight, int postLeft, int postRight, vector<int>& preorder, vector<int>& postorder) { if(preLeft > preRight || postLeft > postRight) return nullptr; TreeNode* root = new TreeNode; root->val = preorder[preLeft]; if(preLeft==preRight || postLeft == postRight) return root; int k = preLeft + 1; while(k <= preL && preorder[k]!=postorder[postRight-1]) k++; root->left = construct(preLeft+1, k-1, postLeft, postRight - (preRight - k + 1)-1, preorder, postorder); root->right = construct(k, preRight, postRight - (preRight - k + 1), postRight-1, preorder, postorder); return root; } TreeNode* constructFromPrePost(vector<int>& preorder, vector<int>& postorder) { TreeNode* root = nullptr; preL = preorder.size()-1; postL = postorder.size()-1; root = construct(0, preL, 0, postL, preorder, postorder); return root; } };
版权声明: 本文来自互联网用户投稿,该文观点仅代表作者本人,不代表本站立场。本站仅提供信息存储空间服务,不拥有所有权,不承担相关法律责任。如若内容造成侵权/违法违规/事实不符,请联系邮箱:809451989@qq.com进行投诉反馈,一经查实,立即删除!
网站建设 2026/8/27 14:31:22

中国第一银楼低价甩卖,为何最终无人出价?

近日&#xff0c;位于湖南郴州市永兴县的地标建筑“永兴银楼”被低价拍卖。 关于这座银楼&#xff0c;有一个官方故事传说。 明末清初年间&#xff0c;一永兴人远赴南洋淘金&#xff0c;终日辛劳。 一日夜寐&#xff0c;梦见一老道士登上阁楼&#xff0c;目视阁楼地板&#…

作者头像 李华
网站建设 2026/8/27 18:04:02

加湿器!新房手脱皮!

安装空气净化器**有用,但它不是最直接的解决办法**。 对于“手掌脱皮干燥”这个问题,空气净化器只能解决**一半**的问题(空气中的刺激物),但它解决不了**另一半更关键**的问题(湿度)。 以下是详细的分析建议: ### 1. 空气净化器能帮你解决什么?(针对新房环境) 如…

作者头像 李华
网站建设 2026/8/31 16:49:59

区域创新生态的破局者:科技成果转化的全新路径

在当前全球科技创新竞争日益激烈的背景下&#xff0c;如何将实验室中的科技成果有效转化为实际生产力&#xff0c;已成为制约区域经济发展的关键问题。无论是政府科技口、产业园区&#xff0c;还是高校科研处和技术经纪人&#xff0c;都面临着科技成果供需信息不对称、转化渠道…

作者头像 李华
网站建设 2026/8/27 18:04:55

‌学工管理系统解决方案:让校园管理更高效,服务更贴心‌

✅作者简介&#xff1a;合肥自友科技 &#x1f4cc;核心产品&#xff1a;智慧校园平台(包括教工管理、学工管理、教务管理、考务管理、后勤管理、德育管理、资产管理、公寓管理、实习管理、就业管理、离校管理、科研平台、档案管理、学生平台等26个子平台) 。公司所有人员均有多…

作者头像 李华
网站建设 2026/8/29 6:31:50

智能多功能AI配音系统源码,支持导出行业标准的MP3格式

温馨提示&#xff1a;文末有资源获取方式在内容为王的时代&#xff0c;优质配音是提升作品感染力的关键。然而&#xff0c;专业配音的高成本与长周期往往让创作者望而却步。此刻&#xff0c;一款集创新技术与用户友好设计于一身的智能配音系统源码应运而生。它如同一个可随时启…

作者头像 李华