Construct Binary Tree from Inorder and Postorder Traversal问题及解法
来源:互联网 发布:java排队叫号 编辑:程序博客网 时间:2024/06/06 00:39
问题描述:
Given inorder and postorder traversal of a tree, construct the binary tree.
Note:
You may assume that duplicates do not exist in the tree.
问题分析:
本题与Construct Binary Tree from Preorder and Inorder Traversal问题及解法 类似,只是中间稍作了一下转换,在构造树的时候是先构造右子树,再构造左子树,最后构造根节点。
过程详见代码:
/** * 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* buildTree(vector<int>& inorder, vector<int>& postorder) {reverse(inorder.begin(), inorder.end());reverse(postorder.begin(), postorder.end());int i = 0;return build(postorder, inorder, i, 0, postorder.size() - 1);}TreeNode* build(vector<int>& postorder, vector<int>& inorder, int& i, int start, int end) {TreeNode* left = NULL;TreeNode* right = NULL;for (int j = start; j <= end; j++){if (inorder[j] == postorder[i]){right = build(postorder, inorder, ++i, start, j - 1);left = build(postorder, inorder, i, j + 1, end);TreeNode* tree = new TreeNode(inorder[j]);tree->left = left;tree->right = right;return tree;}}return NULL;}};
阅读全文
0 0
- Construct Binary Tree from Inorder and Postorder Traversal问题及解法
- *(leetcode) Construct Binary Tree from Inorder and Postorder Traversal (tree)
- LeetCode[Tree]: Construct Binary Tree from Inorder and Postorder Traversal
- Construct Binary Tree from Preorder and Inorder 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
- 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
- Construct Binary Tree from Inorder and Postorder Traversal
- [LeetCode]Construct Binary Tree from Inorder and Postorder Traversal
- Construct Binary Tree from Inorder and Postorder Traversal
- 大规模并发带来的挑战
- Linux工具--Xshell & XFtp使用
- HDOJ5687 字典树模板,数组实现
- 闭包例子
- 二分图最大匹配
- Construct Binary Tree from Inorder and Postorder Traversal问题及解法
- android报错之.OutOfMemoryError
- SpringMVC中注解方式代替xml配置SpringMVC
- Java多线程
- python自然语言处理(二)
- 系统栈的工作原理
- MPEG-TS基础
- 【开篇有益】敢问路在何方,佛曰路就在脚下
- 重组数组,用值做为键