博客
关于我
强烈建议你试试无所不能的chatGPT,快点击我
重建二叉树
阅读量:5243 次
发布时间:2019-06-14

本文共 1259 字,大约阅读时间需要 4 分钟。

题目描述

输入某二叉树的前序遍历和中序遍历的结果,请重建出该二叉树。假设输入的前序遍历和中序遍历的结果中都不含重复的数字。例如输入前序遍历序列{1,2,4,7,3,5,6,8}和中序遍历序列{4,7,2,1,5,3,8,6},则重建二叉树并返回。
 
1 /** 2  * Definition for binary tree 3  * struct TreeNode { 4  *     int val; 5  *     TreeNode *left; 6  *     TreeNode *right; 7  *     TreeNode(int x) : val(x), left(NULL), right(NULL) {} 8  * }; 9  */10 class Solution {11 public:12     struct TreeNode* reConstructBinaryTree(vector
pre,vector
in) {13 if (pre.size() != 0 && in.size() != 0 && pre.size() == in.size())14 {15 return build(pre,in,0,pre.size()-1,0,in.size()-1);16 }17 else18 {19 return NULL;20 }21 22 }23 24 struct TreeNode* build(vector
pre,vector
in,int l1,int r1,int l2,int r2)25 {26 if(l1<=r1)27 {28 int i=l2;29 while(pre[l1]!=in[i])30 i++;31 TreeNode* T= new TreeNode(in[i]);32 T->left=build(pre,in,l1+1,l1+i-l2,l2,i-1);33 T->right=build(pre,in,l1+i-l2+1,r1,i+1,r2);34 return T;35 }36 else return NULL;37 }38 };

 

转载于:https://www.cnblogs.com/xiaoyesoso/p/5142622.html

你可能感兴趣的文章
HDU 2548 A strange lift
查看>>
Linux服务器在外地,如何用eclipse连接hdfs
查看>>
react双组件传值和传参
查看>>
BNU29140——Taiko taiko——————【概率题、规律题】
查看>>
POJ 2289——Jamie's Contact Groups——————【多重匹配、二分枚举匹配次数】
查看>>
java 得到以后的日期
查看>>
[Kaggle] Sentiment Analysis on Movie Reviews
查看>>
python安装easy_intall和pip
查看>>
HDU1004
查看>>
MySQL高速缓存
查看>>
DropdownList绑定的两种方法
查看>>
价值观
查看>>
数值计算中,浮点类型给我们挖的坑
查看>>
(String)、toString、String.valueOf
查看>>
mongodb命令----批量更改文档字段名
查看>>
python多线程下载网页图片并保存至特定目录
查看>>
了解循环队列的实现
查看>>
CentOS 简单命令
查看>>
Linux中修改docker镜像源及安装docker
查看>>
javascript中强制类型转换
查看>>