leetcode---Construct Binary Tree from Preorder and Inorder Traversal---树的构建
2016-09-16 21:48
309 查看
Given preorder and inorder traversal of a tree, construct the binary tree.
/** * Definition for a binary tree node. * struct TreeNode { * int val; * TreeNode *left; * TreeNode *right; * TreeNode(int x) : val(x), left(NULL), right(NULL) {} * }; */ class Solution { public: TreeNode *makes(vector<int>& preorder, int preLow, int preHigh, vector<int>& inorder, int inLow, int inHigh) { if(preLow > preHigh) return NULL; else if(preLow == preHigh) return new TreeNode(preorder[preLow]); TreeNode *h = new TreeNode(preorder[preLow]); //根节点 int i = inLow; //根节点在中序遍历中的下标 for(; i<=inHigh; i++) { if(inorder[i] == preorder[preLow]) break; } int leftLen = i - inLow; h->left = makes(preorder, preLow+1, preLow+leftLen, inorder, inLow, inLow+leftLen-1); h->right = makes(preorder, preLow+leftLen+1, preHigh, inorder, inLow+leftLen+1, inHigh); return h; } TreeNode* buildTree(vector<int>& preorder, vector<int>& inorder) { return makes(preorder, 0, preorder.size()-1, inorder, 0, inorder.size()-1); } };
相关文章推荐
- LeetCode:105_Construct Binary Tree from Preorder and Inorder Traversal | 根据前序和中序遍历构建二叉树 | Medium
- LeetCode-105:Construct Binary Tree from Preorder and Inorder Traversal (利用先序和中序遍历构建二叉树) -- medium
- LeetCode OJ Construct Binary Tree from Preorder and Inorder Traversal
- Construct Binary Tree from Preorder and Inorder Traversal (中序和后序建树,在题目给的函数中完成)【leetcode】
- LeetCode:M-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 Construct Binary Tree from Preorder and Inorder Traversal
- Leetcode 105. Construct Binary Tree from Preorder and Inorder Traversal
- Construct Binary Tree from Preorder and Inorder Traversal(leetcode)
- 【LeetCode】105. Construct Binary Tree from Preorder and Inorder Traversal
- [leetcode][tree] Construct Binary Tree from Preorder and Inorder Traversal
- LeetCode:Construct Binary Tree from Inorder and Postorder Traversal,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
- Java for 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 78] 105 Construct Binary Tree from Preorder and Inorder Traversal
- 【LeetCode】105 & 106 Construct Binary Tree from (Preorder and Inorder) || (Inorder and Postorder)Traversal