Construct Binary Tree from Preorder and Inorder Traversal问题及解法
来源:互联网 发布:淘宝关键词重复有用吗 编辑:程序博客网 时间:2024/06/07 00:36
问题描述:
Given preorder and inorder traversal of a tree, construct the binary tree.
Note:
You may assume that duplicates do not exist in the 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* buildTree(vector<int>& preorder, vector<int>& inorder) { int i = 0;return build(preorder, inorder, i, 0, preorder.size() - 1);}TreeNode* build(vector<int>& preorder, vector<int>& inorder,int& i,int start,int end) {TreeNode* left = NULL;TreeNode* right = NULL;for (int j = start; j <= end; j++){if (inorder[j] == preorder[i]){left = build(preorder, inorder, ++i, start, j - 1);right = build(preorder, inorder, i, j + 1, end);TreeNode* tree = new TreeNode(inorder[j]);tree->left = left;tree->right = right;return tree;}}return NULL;}};
阅读全文
0 0
- Construct Binary Tree from Preorder and Inorder Traversal问题及解法
- Construct Binary Tree from Inorder and Postorder Traversal问题及解法
- *(leetcode) Construct Binary Tree from Preorder and Inorder Traversal (tree)
- LeetCode[Tree]: Construct Binary Tree from Preorder and Inorder Traversal
- [leetcode][tree] Construct Binary Tree from Preorder and Inorder Traversal
- Construct Binary Tree from Preorder and Inorder Traversal & Construct Binary Tree from Inorder and P
- LeetCode: Construct Binary Tree from Preorder and Inorder Traversal
- 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 Construct Binary Tree from Preorder and Inorder Traversal
- leetcode 109: Construct Binary Tree from Preorder and Inorder Traversal
- 【leetcode】Construct Binary Tree from Preorder and Inorder Traversal
- Construct Binary Tree from Preorder and Inorder Traversal
- Construct Binary Tree from Preorder and Inorder Traversal
- 实习总结3
- Spring AOP中pointcut expression表达式解析
- unity 关于计算时间的差值 时间戳
- Unity2D射线检测以及collider的事件发送
- 文件和目录操作命令 ls cd cp
- Construct Binary Tree from Preorder and Inorder Traversal问题及解法
- [leetcode] 3. Longest Substring Without Repeating Characters
- POJ1298算法解析
- xpath爬取首页信息,并获取详情页标题与时间
- poj 2945 Find the Clones
- robotframework源码解析
- oracle中的decode函数
- 结构体元素做函数参数和结构指针做函数参数
- 学习方法总结——《快速学习》总结