106. 从中序与后序遍历序列构造二叉树
给定两个整数数组 inorder
和 postorder
,其中 inorder
是二叉树的中序遍历, postorder
是同一棵树的后序遍历,请你构造并返回这颗 二叉树 。
示例 1:

输入:inorder = [9,3,15,20,7], postorder = [9,15,7,20,3] 输出:[3,9,20,null,null,15,7]
示例 2:
输入:inorder = [-1], postorder = [-1] 输出:[-1]
class Solution { public: unordered_map<int, int> map; int n = 0; TreeNode* buildTree(vector<int>& inorder, vector<int>& postorder) { n = inorder.size(); for (int i = 0; i < n; i++) { map[inorder[i]] = i; } return Pan(inorder,postorder,n-1,0,n-1); } TreeNode* Pan(vector<int>& inorder, vector<int>& postorder,int post,int start,int end) { if (start > end||post<0) return NULL; int flag = map[postorder[post]]; TreeNode *root = new TreeNode(inorder[flag]); root->right= Pan(inorder, postorder, post-1, flag+1, end); root->left= Pan(inorder, postorder, post - 1+flag-end, start, flag-1); return root; } };
【推荐】国内首个AI IDE,深度理解中文开发场景,立即下载体验Trae
【推荐】编程新体验,更懂你的AI,立即体验豆包MarsCode编程助手
【推荐】抖音旗下AI助手豆包,你的智能百科全书,全免费不限次数
【推荐】轻量又高性能的 SSH 工具 IShell:AI 加持,快人一步
· Manus重磅发布:全球首款通用AI代理技术深度解析与实战指南
· 被坑几百块钱后,我竟然真的恢复了删除的微信聊天记录!
· 没有Manus邀请码?试试免邀请码的MGX或者开源的OpenManus吧
· 园子的第一款AI主题卫衣上架——"HELLO! HOW CAN I ASSIST YOU TODAY
· 【自荐】一款简洁、开源的在线白板工具 Drawnix