LeetCode---Construct Binary Tree from Inorder and Postorder Traversal
来源:互联网 发布:java eclipse下载64位 编辑:程序博客网 时间:2024/06/15 14:27
题目大意:给出二叉树的中序和后序遍历结果,构造出该二叉树。
算法思想:
1.整体思想同由前序和后序构造二叉树不的差不过。LeetCode---Convert Sorted Array to Binary Search Tree
2.根节点的位置由前序的第一个变为后序的最后一个,只需要重新计算左右子树的区间。
代码如下:
/** * Definition for a binary tree node. * struct TreeNode { * int val; * TreeNode *left; * TreeNode *right; * TreeNode(int x) : val(x), left(NULL), right(NULL) {} * }; */class Solution {public: TreeNode* construct(vector<int>& postorder, vector<int>& inorder,int L1,int R1,int L2,int R2){ if(L1<=R1&&L2<=R2){ TreeNode* root= new TreeNode(postorder[R1]); int pos=find(inorder.begin(),inorder.end(),postorder[R1])-inorder.begin(); int dis=pos-L2; root->left=construct(postorder,inorder,L1,L1+dis-1,L2,pos-1); root->right=construct(postorder,inorder,L1+dis,R1-1,pos+1,R2); return root; } return NULL; } TreeNode* buildTree(vector<int>& inorder, vector<int>& postorder) { if(inorder.size()==0||postorder.size()==0) return NULL; return construct(postorder,inorder,0,postorder.size()-1,0,inorder.size()-1); }};
0 0
- *(leetcode) Construct Binary Tree from Inorder and Postorder Traversal (tree)
- LeetCode[Tree]: Construct Binary Tree from Inorder and Postorder Traversal
- LeetCode: Construct Binary Tree from Inorder and Postorder Traversal
- [LeetCode]Construct Binary Tree from Inorder and Postorder Traversal
- LeetCode Construct Binary Tree from Inorder and Postorder Traversal
- LeetCode: Construct Binary Tree from Inorder and Postorder Traversal
- LeetCode: Construct Binary Tree from Inorder and Postorder Traversal
- [LeetCode] Construct Binary Tree from Inorder and Postorder Traversal
- LeetCode Construct Binary Tree from Inorder and Postorder Traversal
- [Leetcode] Construct Binary Tree from Inorder and Postorder Traversal
- leetcode 110: Construct Binary Tree from Inorder and Postorder Traversal
- 【leetcode】Construct Binary Tree from Inorder and Postorder Traversal
- [LeetCode]Construct Binary Tree from Inorder and Postorder Traversal
- [leetcode]Construct Binary Tree from Inorder and Postorder Traversal
- LeetCode-Construct Binary Tree from Inorder and Postorder Traversal
- [leetcode] Construct Binary Tree from Inorder and Postorder Traversal
- LeetCode - Construct Binary Tree from Inorder and Postorder Traversal
- [LeetCode] Construct Binary Tree from Inorder and Postorder Traversal
- linux 下的init 0,1,2,3,4,5,6知识介绍
- 杭电ACM1159
- 网络通信基础
- 1040. 有几个PAT(25)
- linux c函数库参考手册
- LeetCode---Construct Binary Tree from Inorder and Postorder Traversal
- 自定义UIAlertView第三方类库
- IOS开发 百度地图添加Annotation,并修改图标。
- linux系统原语
- Collection of Important CV Researchers
- python之数据库db模块
- 1041. 考试座位号(15)
- Linux命令集锦
- MYSQL开发性能研究——批量插入的优化措施