国产探花免费观看_亚洲丰满少妇自慰呻吟_97日韩有码在线_资源在线日韩欧美_一区二区精品毛片,辰东完美世界有声小说,欢乐颂第一季,yy玄幻小说排行榜完本

首頁 > 學院 > 開發設計 > 正文

數據結構實驗之二叉樹四:還原二叉樹

2019-11-10 19:50:02
字體:
來源:轉載
供稿:網友

PRoblem Description

給定一棵二叉樹的先序遍歷序列和中序遍歷序列,要求計算該二叉樹的高度。

Input

輸入數據有多組,每組數據第一行輸入1個正整數N(1 <= N <= 50)為樹中結點總數,隨后2行先后給出先序和中序遍歷序列,均是長度為N的不包含重復英文字母(區分大小寫)的字符串。

Output

輸出一個整數,即該二叉樹的高度。

Example Input

9 ABDFGHIECFDHGIBEAC

Example Output

5
 
#include<stdio.h>#include<string.h>#include<stdlib.h>typedef struct node{    char data;    struct node *lc,*rc;}bitree;int max;bitree * create(int zlen,char qst[],char zst[]){    if(zlen<=0)        return NULL;    int i;    bitree * t;    t=(bitree *)malloc(sizeof(bitree));    t->data=qst[0];    for(i=0;i<zlen;i++)    {        if(qst[0]==zst[i])            break;    }    t->lc=create(i,qst+1,zst);    t->rc=create(zlen-i-1,qst+i+1,zst+i+1);    return t;}void preshow(int count,bitree *t){    int k;    if(t)    {        if(count==0)            count=1;        k=count;        if(k>max)            max=k;        preshow(++count,t->lc);        preshow(++k,t->rc);    }}int main(){    int zlen;    char qst[51],zst[51];    bitree * tree;    while(scanf("%d",&zlen)!=EOF)    {        max=0;        scanf("%s%s",qst,zst);        zlen=strlen(zst);        tree=create(zlen,qst,zst);        preshow(0,tree);        printf("%d/n",max);    }}
發表評論 共有條評論
用戶名: 密碼:
驗證碼: 匿名發表
主站蜘蛛池模板: 监利县| 子长县| 文水县| 临江市| 阿图什市| 庐江县| 德惠市| 龙泉市| 沿河| 六枝特区| 汕尾市| 马关县| 汝城县| 和静县| 日照市| 裕民县| 和林格尔县| 湘阴县| 水富县| 逊克县| 石首市| 姚安县| 自贡市| 乐至县| 四平市| 都江堰市| 民县| 泊头市| 天柱县| 乌兰察布市| 定结县| 台安县| 上林县| 清水河县| 习水县| 雷山县| 湖南省| 温宿县| 格尔木市| 宣化县| 泽普县|