LeetCode - Construct Binary Tree from Preorder and Inorder Traversal
2013-08-23 21:32
579 查看
Given preorder and inorder traversal of a tree, construct the binary tree.
Note:
You may assume that duplicates do not exist in the tree.
Note:
You may assume that duplicates do not exist in the tree.
/** * Definition for binary tree * struct TreeNode { * int val; * TreeNode *left; * TreeNode *right; * TreeNode(int x) : val(x), left(NULL), right(NULL) {} * }; */ class Solution { public: int getIndex(vector<int>& inorder,int inBegin,int inEnd,int value){ for(int i=inBegin;i<=inEnd;i++){ if(inorder[i]==value){ return i; } } return -1; } TreeNode *buildTree(vector<int> &preorder,int preBegin,int preEnd, vector<int> &inorder,int inBegin,int inEnd) { if(preBegin>preEnd){ return NULL; } int index=getIndex(inorder,inBegin,inEnd,preorder[preBegin]); TreeNode * root=new TreeNode(preorder[preBegin]); int tmp=index-inBegin+preBegin; root->left=buildTree(preorder,preBegin+1,tmp,inorder,inBegin,index-1); root->right=buildTree(preorder,tmp+1,preEnd,inorder,index+1,inEnd); return root; } TreeNode *buildTree(vector<int> &preorder, vector<int> &inorder) { return buildTree(preorder,0,preorder.size()-1,inorder,0,inorder.size()-1); } };
相关文章推荐
- [LeetCode]Construct Binary Tree from Preorder and Inorder Traversal
- 【LeetCode笔记】Construct Binary Tree from Preorder and Inorder Traversal 前序、中序还原二叉树
- Leetcode: Construct Binary Tree from Preorder and Inorder Traversal
- LeetCode "Construct Binary Tree from Preorder and Inorder Traversal"
- [LeetCode] Construct Binary Tree from Preorder and Inorder Traversal
- LeetCode-Construct Binary Tree from Preorder and Inorder Traversal
- [Leetcode] 105. Construct Binary Tree from Preorder and Inorder Traversal
- 【leetcode】Construct Binary Tree from Preorder and Inorder Traversal
- leetcode-Construct Binary Tree from Preorder and Inorder Traversal
- [LeetCode][Java] Construct Binary Tree from Preorder and Inorder Traversal
- LeetCode[Tree]: Construct Binary Tree from Preorder and Inorder Traversal
- LeetCode 105: Construct Binary Tree from Preorder and Inorder Traversal
- LeetCode:Construct Binary Tree from Preorder and Inorder Traversal
- leetcode#105 Construct Binary Tree from Preorder and Inorder Traversal
- Leetcode 105 Construct Binary Tree from Preorder and Inorder Traversal
- [LeetCode] 105. Construct Binary Tree from Preorder and Inorder Traversal
- LeetCode题解:Construct Binary Tree from Preorder and Inorder Traversal
- LeetCode_105 Construct Binary Tree from Preorder and Inorder Traversal
- [LeetCode] Construct Binary Tree from Preorder and Inorder Traversal
- 个人记录-LeetCode 105. Construct Binary Tree from Preorder and Inorder Traversal