Construct Binary Tree from Preorder and Inorder Traversal
2013-07-02 00:25
393 查看
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.
class Solution { public: void f(vector<int> &preorder,int s1, int e1,vector<int> & inorder,int s2, int e2, TreeNode *& root){ if (s1 > e1){ return; } if (!root){ root = new TreeNode(preorder[s1]); int m = s2; for(;m <= e2;m++){ if (inorder[m] == preorder[s1]){ break; } } f(preorder,s1 + 1,s1 + 1 + m - 1 - s2,inorder,s2,m-1,root->left); f(preorder,e1 - (e2 - m - 1),e1,inorder,m+1,e2,root->right); } } TreeNode *buildTree(vector<int> &preorder, vector<int> &inorder) { // Start typing your C/C++ solution below // DO NOT write int main() function if (!preorder.size()){ return NULL; } TreeNode * root = NULL; f(preorder,0,preorder.size() -1,inorder,0,inorder.size() -1,root); return root; } };
相关文章推荐
- LeetCode刷题笔录Construct Binary Tree from Preorder and Inorder Traversal
- LeetCode-Construct Binary Tree from Preorder and Inorder Traversal-前序中序恢复二叉树-递归
- 【C++】【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【java】
- [LeetCode] 105. Construct Binary Tree from Preorder and Inorder Traversal 由先序和中序遍历建立二叉树
- 105. Construct Binary Tree from Preorder and Inorder Traversal
- leetcode 109: Construct Binary Tree from Preorder and Inorder Traversal
- 【LeetCode OJ】Construct Binary Tree from Preorder and Inorder Traversal
- 105. Construct Binary Tree from Preorder and Inorder Traversal
- 105. Construct Binary Tree from Preorder and Inorder Traversal
- 【LeetCode-面试算法经典-Java实现】【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】【Medium】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 解题报告