7 59 還原二叉樹 25分

2021-10-03 19:55:59 字數 1003 閱讀 3566

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

輸入格式:

輸入首先給出正整數n(≤50),為樹中結點總數。下面兩行先後給出先序和中序遍歷序列,均是長度為n的不包含重複英文本母(區別大小寫)的字串。

輸出格式:

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

輸入樣例:

9abdfghiec

fdhgibeac

輸出樣例:

5

#include

#define pb push_back

#define mem(a,b) memset(a,b,sizeof a)

using

namespace std;

typedef

long

long ll;

const

int inf=

0x3f3f3f3f

;char pre[55]

,in[55]

;int n;

typedef

struct node

node,

*tree;

tree create

(char

*in,

char

*pre,

int len));

int i=0;

while

(in[i]

!=pre[0]

) i++

; t-

>l=

create

(in,pre+

1,i)

; t-

>r=

create

(in+i+

1,pre+i+

1,len-i-1)

;return t;

}int

height

(tree t)

return th;

}int

main()

還原二叉樹(25 分)

給定一棵二叉樹的先序遍歷序列和中序遍歷序列,要求計算該二叉樹的高度。輸入首先給出正整數n 50 為樹中結點總數。下面兩行先後給出先序和中序遍歷序列,均是長度為n的不包含重複英文本母 區別大小寫 的字串。輸出為乙個整數,即該二叉樹的高度。9 abdfghiec fdhgibeac5 輸入 前序遍歷,中...

還原二叉樹(25 分)

給定一棵二叉樹的先序遍歷序列和中序遍歷序列,要求計算該二叉樹的高度。輸入首先給出正整數n 50 為樹中結點總數。下面兩行先後給出先序和中序遍歷序列,均是長度為n的不包含重複英文本母 區別大小寫 的字串。輸出為乙個整數,即該二叉樹的高度。9 abdfghiec fdhgibeac5 include i...

還原二叉樹 25 分

給定一棵二叉樹的先序遍歷序列和中序遍歷序列,要求計算該二叉樹的高度。輸入首先給出正整數n 50 為樹中結點總數。下面兩行先後給出先序和中序遍歷序列,均是長度為n的不包含重複英文本母 區別大小寫 的字串。輸出為乙個整數,即該二叉樹的高度。9abdfghiec fdhgibeac include inc...