news 2026/6/10 18:45:46

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/6/10 10:59:38

鲸鱼优化算法(WOA)文章复现:《改进鲸鱼优化算法在机械臂时间最优轨迹规划的应用_赵晶》 策略为

鲸鱼优化算法&#xff08;WOA&#xff09;文章复现:《改进鲸鱼优化算法在机械臂时间最优轨迹规划的应用_赵晶》 策略为:Tent混沌初始化种群非线性权重改进位置更新非线性概率转换——IWOA。 复现内容包括:改进算法实现、23个基准测试函数、文中相关因子分析、文中相关图分析、与…

作者头像 李华
网站建设 2026/6/10 10:56:55

【计算机毕业设计案例】支持个性化阅读推荐、进度跟踪、能力测评与家校互动基于ssm的阅读能力智能测评与提升系统中小学生阅读能力培养系统(程序+文档+讲解+定制)

博主介绍&#xff1a;✌️码农一枚 &#xff0c;专注于大学生项目实战开发、讲解和毕业&#x1f6a2;文撰写修改等。全栈领域优质创作者&#xff0c;博客之星、掘金/华为云/阿里云/InfoQ等平台优质作者、专注于Java、小程序技术领域和毕业项目实战 ✌️技术范围&#xff1a;&am…

作者头像 李华
网站建设 2026/6/10 12:36:36

GPT、Claude与Gemini:DMXAPI对上市公司选择AI中转API的最佳实践

一、上市公司AI需求分析&#xff1a;合规性、稳定性、成本控制的三角平衡 1.1 上市公司独特需求矩阵 &#x1f4ca; 监管合规优先&#xff1a; ├── 数据安全&#xff1a;数据不出境、境内处理闭环 ├── 审计可追溯&#xff1a;完整操作日志、可审计接口 ├── 信息披露…

作者头像 李华
网站建设 2026/6/10 14:14:34

MySQL Binlog三种记录格式详解

Binlog&#xff08;二进制日志&#xff09;是 MySQL 核心特性之一&#xff0c;用于记录数据变更操作&#xff0c;支撑主从复制、数据恢复等关键场景。其记录格式直接影响日志体积、性能开销与数据一致性&#xff0c;本文将深入解析三种主流格式的差异、选型逻辑及配置方法。一、…

作者头像 李华
网站建设 2026/6/9 23:32:55

科技成果转化新引擎:构建高效智能服务生态

在当今快速发展的科技时代&#xff0c;如何将科研成果从实验室转化为市场应用&#xff0c;成为各大高校、研究机构及企业亟需解决的重要课题。传统转化模式中&#xff0c;技术评估困难、市场需求匹配不精准、成果推广能力弱以及成果筛选与资源对接依赖人工等问题&#xff0c;严…

作者头像 李华