由中序和后序重建二叉树
来源:互联网 发布:杨坤空城现场 知乎 编辑:程序博客网 时间:2024/09/21 09:04
求二叉树的深度
Time Limit: 1000ms Memory limit: 65536K 有疑问?点这里^_^
题目描述
已知一颗二叉树的中序遍历序列和后序遍历序列,求二叉树的深度。
输入
输入数据有多组,输入T,代表有T组数据。每组数据包括两个长度小于50的字符串,第一个字符串表示二叉树的中序遍历,第二个表示二叉树的后序遍历。
输出
输出二叉树的深度。
示例输入
2dbgeafcdgebfcalnixulinux
示例输出
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;}
9 0
- 由中序和后序重建二叉树
- 由前序和中序数组重建二叉树
- 二叉树(15)----由中序遍历和后序遍历重建二叉树,递归方式
- 树——由中序和前序,中序和后序序列重建二叉树
- Java实现由前序序列和中序序列重建二叉树,并后序输出。
- Construct Binary Tree from Inorder and Postorder Traversal 由中序和后序重建二叉树@LeetCode
- 由中序与前序、中序与后序重建二叉树
- NYOJ 756 重建二叉树【由二叉树的后序和中序建立二叉树并得先序】
- 根据后序和中序遍历重建二叉树
- 【二叉树】由前序遍历和中序遍历重建二叉树
- 二叉树--由前序遍历和中序遍历重建二叉树
- 二叉树--由中序遍历和后续遍历重建二叉树
- 已知二叉树的后序遍历和中序遍历重建二叉树(二叉树)
- 由中根序列和后根序列重建二叉树
- 由中根序列和后根序列重建二叉树
- 由中根序列和后根序列重建二叉树
- 由中根序列和后根序列重建二叉树
- 【Openjudge】由中根序列和后根序列重建二叉树
- Codeforces 449B - Jzzhu and Cities / 450D - Jzzhu and Cities
- jxl简单操作excel
- Linux系统脚本的常见启动顺序
- 平凡之路——送给我心中的那个她
- Python的数学计算
- 由中序和后序重建二叉树
- 函数式编程扫盲篇
- linux常用命令
- Qt下 QString转char* 的问题
- 大肚腩(演唱:阿牛)
- 在CentOS7环境下安装Alfresco4.2
- 一致代码段和非一致代码段
- EasyUI中datagrid获取json数据遇到的问题
- Codeforces Div. 2 #257-B. Jzzhu and Sequences