資料結構實驗之二叉樹八:(中序後序)求二叉樹的深度
Description
已知一顆二叉樹的中序遍歷序列和後序遍歷序列,求二叉樹的深度。
Input
輸入資料有多組,輸入T,代表有T組資料。每組資料包括兩個長度小於50的字串,第一個字串表示二叉樹的中序遍歷,第二個表示二叉樹的後序遍歷。
Output
輸出二叉樹的深度。
Sample
Input
2
dbgeafc
dgebfca
lnixu
linux
Output
4
3
#include<bits/stdc++.h>
using namespace std;
typedef struct node
{
char data;
struct node *l, *r;
} Tree;
char mid[55], pos[55];
Tree *creat(char *mid, char *pos, int len)
{
Tree *root;
if(len == 0)
return NULL;
root = new Tree;
root->data = pos[len - 1];
int i;
for(i = 0; i < len; i++)
{
if(mid[i] == pos[len - 1])
break;
}
root->l = creat(mid, pos, i);
root->r = creat(mid + i + 1, pos + i, len - i - 1);
return root;
}
int depth_bintree(Tree *root)
{
int de = 0;
if(root)
{
int left_depth = depth_bintree(root->l);
int right_depth = depth_bintree(root->r);
de = left_depth > right_depth ? left_depth + 1 : right_depth + 1;
}
return de;
}
int main()
{
int t;
scanf("%d", &t);
while(t--)
{
scanf("%s", mid);
scanf("%s", pos);
int len = strlen(pos);
Tree *root = creat(mid, pos, len);
int depth= depth_bintree(root);
printf("%d\n", depth);
}
return 0;
}
相關文章
- 二叉樹 ---- 前序 中序 後序 知二求一二叉樹
- 已知二叉樹的先序和後序求任意一中序二叉樹
- 還原二叉樹(先序+中序-〉後序)二叉樹
- 【資料結構與演算法】二叉樹的 Morris 遍歷(前序、中序、後序)資料結構演算法二叉樹
- 先序、中序、後序序列的二叉樹構造演算法二叉樹演算法
- 二叉樹的前序,中序,後序遍歷方法總結二叉樹
- [資料結構]二叉樹的前中後序遍歷(遞迴+迭代實現)資料結構二叉樹遞迴
- 從中序與後序遍歷序列構造二叉樹二叉樹
- 二叉樹的前序、中序、後序三種遍歷二叉樹
- 二叉樹--後序遍歷二叉樹
- 二叉樹中序和後序遍歷表示式二叉樹
- C#資料結構-二叉樹-順序儲存結構C#資料結構二叉樹
- 二叉樹的先中後序遍歷二叉樹
- 二叉樹的先,中,後序遍歷二叉樹
- 二叉樹的前中後序遍歷二叉樹
- 二叉樹的四種遍歷方法:先序,中序,後序,層序二叉樹
- [資料結構] 根據前中後序遍歷中的兩種構造二叉樹資料結構二叉樹
- 二叉樹的前序、中序、後序的遞迴和迭代實現二叉樹遞迴
- 資料結構中的樹(二叉樹、二叉搜尋樹、AVL樹)資料結構二叉樹
- 演算法 -- 實現二叉樹先序,中序和後序遍歷演算法二叉樹
- 144.二叉樹的前序遍歷145.二叉樹的後序遍歷 94.二叉樹的中序遍歷二叉樹
- 144. 二叉樹的遍歷「前序、中序、後序」 Golang實現二叉樹Golang
- 資料結構之「二叉樹」資料結構二叉樹
- 遞迴和迭代實現二叉樹先序、中序、後序和層序遍歷遞迴二叉樹
- 從前序與中序構造二叉樹二叉樹
- 資料結構(樹):二叉樹資料結構二叉樹
- 106. 從中序與後序遍歷序列構造二叉樹——Java實現二叉樹Java
- LeetCode-106-從中序與後序遍歷序列構造二叉樹LeetCode二叉樹
- 二叉樹的子結構、深度以及重建二叉樹二叉樹
- 二叉樹(順序儲存二叉樹,線索化二叉樹)二叉樹
- 資料結構之樹結構概述(含滿二叉樹、完全二叉樹、平衡二叉樹、二叉搜尋樹、紅黑樹、B-樹、B+樹、B*樹)資料結構二叉樹
- 重學資料結構之樹和二叉樹資料結構二叉樹
- 資料結構初階--二叉樹(前中後序遍歷遞迴+非遞迴實現+相關求算結點實現)資料結構二叉樹遞迴
- 資料結構 - 二叉樹資料結構二叉樹
- 資料結構-二叉樹資料結構二叉樹
- 資料結構初階--二叉樹介紹(基本性質+堆實現順序結構)資料結構二叉樹
- 【樹01】對二叉樹前序/中序/後序遍歷演算法的一些思考二叉樹演算法
- 刷題系列 - 中序和後序遍歷佇列,構造對應二叉樹;佇列二叉樹