[geeks]Construct Full Binary Tree from given preorder and postorder traversals
2013-06-25 09:30
435 查看
思路:根据先序和后序遍历数据,递归的构造整棵树
struct TreeNode { int val; TreeNode *left; TreeNode *right; TreeNode(int x) : val(x), left(NULL), right(NULL) {} }; class Solution { public: TreeNode *buildTree(vector<int> &preorder, vector<int> &postorder) { buildPos(postorder); return buildTree(preorder, 0, preorder.size()-1, postorder, 0, postorder.size()-1); } TreeNode *buildTree(vector<int> &pre, int l, int r, vector<int> &post, int b, int e) { if(l > r || b > e) return NULL; TreeNode *root = new TreeNode(pre[l]); if(l < r) { int postIdx = pos[pre[l+1]], preIdex = postIdx + l + 1; root->left = buildTree(pre, l+1, preIdex, post, b, postIdx); root->right = buildTree(pre, preIdex+1, r, post, postIdx+1, e-1); } return root; } void buildPos(vector<int> &postorder) { for(int i = 0; i < postorder.size(); ++i) pos[postorder[i]] = i; } private: unordered_map<int, int> pos; };
相关文章推荐
- Construct Full Binary Tree from given preorder and postorder traversals
- Data Structure Binary Tree: Construct Full Binary Tree from given preorder and postorder traversals
- Data Structure Binary Tree: Construct Tree from given Inorder and Preorder traversals
- LeetCode 105, 106. Construct Binary Tree from Preorder and Inorder/Inorder and Postorder Traversal
- Leetcode: Construct Binary Tree from Preorder and Inorder Traversal, Construct Binary Tree from Inorder and Postorder Traversal
- 105\106. Construct Binary Tree from Inorder and Postorder\Preorder Traversal&重建二叉树
- LeetCode 105/106 Construct Binary Tree from Preorder/Postorder and Inorder Traversal
- leetcode - Construct Binary Tree from Inorder and Postorder Traversal && Construct Binary Tree from Preorder and Inorder Traversal
- Construct Binary Tree from Inorder and Preorder(Inorder and Postorder) Traversal
- 【LeetCode】105 & 106 Construct Binary Tree from (Preorder and Inorder) || (Inorder and Postorder)Traversal
- LeetCode:Construct Binary Tree from Inorder and Postorder Traversal,Construct Binary Tree from Preorder and Inorder Traversal
- [LeetCode] Construct/build binary tree from in-order and post-order/pre-order traversal
- Construct Binary Tree from Inorder and Postorder Traversal & Preorder and Inorder
- [Leetcode][python]Construct Binary Tree from Preorder and Inorder Traversal (Inorder and Postorder)
- Construct Binary Tree from Preorder (Postorder) and Inorder Traversal
- [Leetcode] Construct Binary Tree from Inorder and Postorder/Preorder and Inorder Traversal
- Construct Binary Tree from Inorder and Postorder Traversal (&&Preorder and Inorder Traversal )——数据结构和算法的基本问题
- 【Leetcode】Construct Binary Tree From Inorder and Preorder/Postorder Traversal
- leetCode(18):Construct Binary Tree from Preorder and Inorder (Inorder and Postorder) Traversal 分类: leetCode 2015-06-22 08:26 177人阅读 评论(0) 收藏
- Construct Binary Tree From Inorder and Preorder/Postorder Traversal