[LeetCode-20]Construct Binary Tree from Inorder and Postorder Traversal
来源:互联网 发布:seo搜索任务 编辑:程序博客网 时间:2024/06/10 16:51
Given inorder and postorder traversal of a tree, construct the binary tree.
Note:
You may assume that duplicates do not exist in the tree.
the idea is similar with the former one [Leetcode-21]
java
public TreeNode buildTree(int[] inorder, int[] postorder) {return buildIP(inorder, postorder, 0, inorder.length-1, 0, postorder.length-1); }public TreeNode buildIP(int[] inorder, int[] postorder, int i_s, int i_e, int p_s, int p_e){if(p_s>p_e)return null;int pivot = postorder[p_e];int i = i_s;for(;i<=i_e;i++){if(inorder[i]==pivot)break;}TreeNode node = new TreeNode(pivot);int lenRight = i_e-i;node.left = buildIP(inorder, postorder, i_s, i-1, p_s, p_e-lenRight-1);node.right = buildIP(inorder, postorder, i+1, i_e, p_e-lenRight, p_e-1);return node;}
c++
TreeNode *BuildTreeIP( vector<int> &inorder, vector<int> &postorder, int i_s, int i_e, int p_s, int p_e){ if(i_s > i_e) return NULL; int pivot = postorder[p_e]; int i = i_s; for(;i<i_e;i++){ if(inorder[i] == pivot) break; } int length1 = i-i_s; int length2 = i_e-i; TreeNode *node = new TreeNode(pivot); node->left = BuildTreeIP(inorder, postorder, i_s, i-1, p_s, p_s+length1-1); node->right = BuildTreeIP(inorder, postorder, i+1, i_e, p_e-length2, p_e-1); return node; } TreeNode *buildTree(vector<int> &inorder, vector<int> &postorder) { return BuildTreeIP(inorder, postorder, 0, inorder.size()-1, 0, postorder.size()-1); }
0 0
- [LeetCode-20]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
- 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
- eclipse ADT 编译环境中的ActionBar的Tap问题?
- ANDROID+COCOS2DX+WIN7+ECLIPSE配置环境参考资料
- [LeetCode-21]Construct Binary Tree from Preorder and Inorder Traversal
- d
- iOS获取当前时间
- [LeetCode-20]Construct Binary Tree from Inorder and Postorder Traversal
- wince6.0下物理地址映射,寄存器访问介绍
- 梯度下降法入门
- http://types.yuzeli.com/plan/2562759
- wince5.0物理地址访问与wince6.0对比
- How to Implement Push Notifications for Android
- 小白的ARDUINO日志二--时钟
- AVRO 规范-Schema的定义和声明
- WebKit加载流程 - 概述