当前位置: 首页 > news >正文

由中序和后序重建二叉树

求二叉树的深度

Time Limit: 1000ms   Memory limit: 65536K  有疑问?点这里^_^

题目描写叙述

已知一颗二叉树的中序遍历序列和后序遍历序列,求二叉树的深度。

输入

输入数据有多组,输入T,代表有T组数据。每组数据包含两个长度小于50的字符串。第一个字符串表示二叉树的中序遍历,第二个表示二叉树的后序遍历。

输出

输出二叉树的深度。

演示样例输入

2
dbgeafc
dgebfca
lnixu
linux

演示样例输出

4

3

慢慢来

#include <stdio.h>
#include <iostream>
#include <cstring>
#include <queue>
#include <algorithm>
using namespace std;
typedef struct node
{
	char data;
	node *lch,*rch;
}btree,*bt;
char post[55],ins[55];
void build(bt &T,char *ins,char *post,int n) //依据后序和中序重建二叉树
{
	if(n<=0) T=NULL;
	else
	{
		int k=strchr(ins,post[n-1])-ins;
		T=new btree;
		T->data=post[n-1];
		build(T->lch,ins,post,k);
		build(T->rch,ins+k+1,post+k,n-k-1);
	}
}
int deep(bt T)
{
	int dep=0;
	if(!T) return dep;
	int nl=deep(T->lch);
	int nr=deep(T->rch);
	return (nl>nr?nl:nr)+1;
}
int main()
{
	bt root;
	int n;
	cin>>n;
	getchar();
	while(n--)
	{
		cin>>ins>>post;
		build(root,ins,post,strlen(ins));
		cout<<deep(root)<<endl;
	}
	return 0;
}


 

转载于:https://www.cnblogs.com/gavanwanggw/p/7279691.html

相关文章:

  • SpannableString实现TextView的链接效果
  • jquery.validate.js使用之自定义表单验证规则
  • 特斯拉Gigafactory将结合Silevo和松下HIT太阳能技术
  • 007-df和du的使用
  • thrift TTransport
  • 《浅谈图论模型的建立与应用》
  • 从顶层设计出发 联想集团与泛华集团共画中国智慧城市蓝图
  • 让SCv2000来拯救企业存储的选择困难症
  • 东软RealSight用大数据给企业做“天气预报”
  • 关于使用flying-saucer-pdf,实现xhtml2pdf
  • 做了一个小游戏,结项目,数数坑(animate,移动端长按出现菜单,touchmove,禁止微信上下滑屏)...
  • 黑客查理·米勒:用一个按键黑掉一辆车
  • php之变量
  • 12、sed、awk、数组 学习笔记
  • MapGuide Fusion viewer中如何用Google Map/Yahoo Map/Bing Map做底图
  • Google 是如何开发 Web 框架的
  • “寒冬”下的金三银四跳槽季来了,帮你客观分析一下局面
  • 【159天】尚学堂高琪Java300集视频精华笔记(128)
  • 【MySQL经典案例分析】 Waiting for table metadata lock
  • ES2017异步函数现已正式可用
  • flutter的key在widget list的作用以及必要性
  • JS字符串转数字方法总结
  • UMLCHINA 首席专家潘加宇鼎力推荐
  • ViewService——一种保证客户端与服务端同步的方法
  • 阿里云前端周刊 - 第 26 期
  • 反思总结然后整装待发
  • 理清楚Vue的结构
  • 区块链技术特点之去中心化特性
  • elasticsearch-head插件安装
  • mysql 慢查询分析工具:pt-query-digest 在mac 上的安装使用 ...
  • 阿里云ACE认证之理解CDN技术
  • $.proxy和$.extend
  • (10)STL算法之搜索(二) 二分查找
  • (AngularJS)Angular 控制器之间通信初探
  • (阿里巴巴 dubbo,有数据库,可执行 )dubbo zookeeper spring demo
  • (二)斐波那契Fabonacci函数
  • (附源码)springboot电竞专题网站 毕业设计 641314
  • (附源码)springboot码头作业管理系统 毕业设计 341654
  • (免费领源码)python#django#mysql公交线路查询系统85021- 计算机毕业设计项目选题推荐
  • (译)2019年前端性能优化清单 — 下篇
  • (原创) cocos2dx使用Curl连接网络(客户端)
  • .babyk勒索病毒解析:恶意更新如何威胁您的数据安全
  • .Net Core与存储过程(一)
  • .NET/C# 利用 Walterlv.WeakEvents 高性能地定义和使用弱事件
  • .net6解除文件上传限制。Multipart body length limit 16384 exceeded
  • /etc/fstab 只读无法修改的解决办法
  • @Autowired多个相同类型bean装配问题
  • @拔赤:Web前端开发十日谈
  • [Angular] 笔记 21:@ViewChild
  • [AutoSar]工程中的cpuload陷阱(三)测试
  • [C# 开发技巧]如何使不符合要求的元素等于离它最近的一个元素
  • [C++ 从入门到精通] 12.重载运算符、赋值运算符重载、析构函数
  • [CSS]浮动
  • [Docker]五.Docker中Dockerfile详解
  • [Enterprise Library]调用Enterprise Library时出现的错误事件之关闭办法