重建二叉树
来源:互联网 发布:淘宝加盟店辨别真假 编辑:程序博客网 时间:2024/06/14 14:16
题目描述
输入某二叉树的前序遍历和中序遍历的结果,请重建出该二叉树。假设输入的前序遍历和中序遍历的结果中都不含重复的数字。例如输入前序遍历序列{1,2,4,7,3,5,6,8}和中序遍历序列{4,7,2,1,5,3,8,6},则重建二叉树并返回。
class Solution {
public:
struct TreeNode* reConstructBinaryTree(vector<int> pre,vector<int> in)
{
int len=in.size();
vector<int> pre_left,pre_right,in_left,in_right;
if(len==0) return NULL;
TreeNode* Head=new TreeNode(pre[0]) ;
int gen=0;
while(pre[0]!=in[gen])
gen++;
for(int i=0;i<gen;i++)
{
pre_left.push_back(pre[i+1]);
in_left.push_back(in[i]);
}
for(int i=gen+1;i<len;i++)//这里因为根节点已经提了,所以一定要把根节点筛出来
{
pre_right.push_back(pre[i]);
in_right.push_back(in[i]);
}
Head->left=reConstructBinaryTree(pre_left,in_left) ;
Head->right=reConstructBinaryTree(pre_right,in_right) ;
return Head;
}
};
- 3.9重建二叉树
- 重建二叉树
- 二叉树重建
- 二叉树重建
- 二叉树的重建
- 重建二叉树
- 重建二叉树
- 重建二叉树
- 重建二叉树
- 重建二叉树
- 重建二叉树
- 重建二叉树
- 重建二叉树
- 二叉树重建
- 二叉树重建
- 重建二叉树
- 重建二叉树
- 重建二叉树
- linux 设置 IP 掩码 网关操作命令
- 从源码出发了解RxJava的使用(上)
- [Ruby On Rails] form_for 中的一些参数使用以及得到 params
- 浅谈Draw Call和Batch的区别
- 51Nod-1080-两个数的平方和
- 重建二叉树
- Mongodb 数据类型
- 332. Reconstruct Itinerary
- 利用选择排序为shell排序提速
- 执行shell脚本报错 cannot execute binary file
- Android Service与Activity之间通信的几种方式
- 项目搭建git和github的使用
- 推荐一些国内的Jquery CDN免费服务
- SpringBoot+Logback+Sentry(日志监控平台)