LeetCode | Construct Binary Tree from Preorder and Inorder Traversal
2013-12-17 20:32
381 查看
题目:
Given preorder and inorder traversal of a tree, construct the binary tree.Note:
You may assume that duplicates do not exist in the tree.
思路:
与/article/1382549.html类似,但是过程相反。
代码:
/** * Definition for binary tree * struct TreeNode { * int val; * TreeNode *left; * TreeNode *right; * TreeNode(int x) : val(x), left(NULL), right(NULL) {} * }; */ class Solution { public: vector<int> preorder; vector<int> inorder; int cur; TreeNode *buildTree(vector<int> &preorder, vector<int> &inorder) { if(preorder.size() == 0) return NULL; else { cur = 0; this->preorder = preorder; this->inorder = inorder; return buildSubTree(0, inorder.size()-1); } } TreeNode* buildSubTree(int from, int to) { TreeNode * root = new TreeNode(preorder[cur]); int index = findValInInOrder(preorder[cur]); cur++; if(index <= from) { root->left = NULL; } else { root->left = buildSubTree(from, index-1); } if(index >= to) { root->right = NULL; } else { root->right = buildSubTree(index+1,to); } return root; } int findValInInOrder(int val) { for(int i=0;i<inorder.size();i++) { if(val == inorder[i]) { return i; } } return -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 (根据前序和中序遍历构造二叉树)
- functionclass[LeetCode]Construct Binary Tree from Preorder and Inorder Traversal
- 【leetcode】105. Construct Binary Tree from Preorder and Inorder Traversal【java】
- [JAVA]LeetCode105 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@python
- 剑指offer 面试题6:重建二叉树(Leetcode105. 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-21]Construct Binary Tree from Preorder and Inorder Traversal
- [leetCode]Construct Binary Tree from Preorder and Inorder Traversal
- 【leetcode】Array——Construct Binary Tree from Preorder and Inorder Traversal(105)
- [LeetCode] Construct Binary Tree from Preorder and Inorder Traversal
- LeetCode 47 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
- LeetCode105 Construct Binary Tree from Preorder and Inorder Traversal