前序遍历和中序遍历构造二叉树[lintcode]
来源:互联网 发布:编程开发培训机构 编辑:程序博客网 时间:2024/06/05 18:11
/** * Definition of TreeNode: * class TreeNode { * public: * int val; * TreeNode *left, *right; * TreeNode(int val) { * this->val = val; * this->left = this->right = NULL; * } * } */class Solution { /** *@param preorder : A list of integers that preorder traversal of a tree *@param inorder : A list of integers that inorder traversal of a tree *@return : Root of a tree */public: TreeNode *buildTree(vector<int> &preorder, vector<int> &inorder) { // write your code here vector<int> pre_l,pre_r,in_l,in_r;//定义这四个变量来存储左右子树的前序和中序序列 TreeNode* root=NULL; int i=0; int index=0; if(!preorder.empty()||!inorder.empty())//如果序列中不为空,继续构建 { root=new TreeNode(preorder[0]); for(i=0;i<inorder.size();i++) { if(preorder[0]==inorder[i]) { index=i;//找出分割中序序列的分割点,左边为左子树的,右边为有子树的 break; } } for(i=0;i<index;i++)//重新找出前面部分前中序列 { pre_l.push_back(preorder[i+1]); in_l.push_back(inorder[i]); } for(i=index+1;i<inorder.size();i++)//找出后面部分的前中序列 { pre_r.push_back(preorder[i]); in_r.push_back(inorder[i]); } //依次构建分割的部分,缩小区间,直至构建完 root->left=buildTree(pre_l,in_l); root->right=buildTree(pre_r,in_r); } return root; }};
阅读全文
0 0
- Lintcode前序遍历和中序遍历树构造二叉树
- lintcode- 前序遍历和中序遍历树构造二叉树-73
- LintCode-剑指Offer-(73)前序遍历和中序遍历树构造二叉树
- lintcode,前序遍历和中序遍历树构造二叉树
- LintCode 73- 前序遍历和中序遍历树构造二叉树
- LintCode 73 前序遍历和中序遍历树构造二叉树
- 前序遍历和中序遍历树构造二叉树-LintCode
- [LintCode]73.前序遍历和中序遍历树构造二叉树
- LintCode 前序遍历和中序遍历树构造二叉树
- LINTCODE——前序遍历和中序遍历树构造二叉树
- lintcode---前序遍历和中序遍历树构造二叉树
- 前序遍历和中序遍历构造二叉树[lintcode]
- [LintCode] 前序遍历和中序遍历树构造二叉树 Construct Binary Tree from Preorder and Inorder Traversal
- 根据前序和中序遍历构造二叉树
- 根据前序和中序遍历构造二叉树
- 前序和中序遍历构造二叉树
- lintcode-中序遍历和后序遍历树构造二叉树-72
- LintCode(72)中序遍历和后序遍历树构造二叉树
- sklearn浅析(八)——近邻算法
- Android 常用sql语句笔记(一)
- 框架整合____SSM框架整合(主流整合方式,最精简整合方式)
- 【C++】while(cin>>str); 和 getline(cin,line,'#');
- 一些常用的类汇总
- 前序遍历和中序遍历构造二叉树[lintcode]
- 关于yii2的url美化及相关apache配置问题
- 二叉树的前序遍历
- 用 while 循环做个小游戏
- TortoiseSVN文件夹及文件图标不显示解决方法
- win10 配置java环境变量
- Hbase初步入门(Mac OS 10.12.5)
- jQuery语法及事件函数总结
- android wifi讲解 wifi列表显示