7 23 還原二叉樹 25分

2021-10-10 20:06:08 字數 1471 閱讀 9197

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

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

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

9

abdfghiec

fdhgibeac

5
#include

#include

#include

#include

#include

#include

#include

#include

#include

#include

#include

#include

#include

using namespace std;

#define inf 0x3f3f3f3f

typedef

long

long ll;

char pre[51]

,in[51]

;int n;

intdfs

(char a,

char b,

int h)

int left=

dfs(a+

1,b,i)+1

;int right=

dfs(a+

1+i,b+i+

1,h-i-1)

+1;return left>right?left:right;

}int

main()

#include

#include

#include

#include

#include

#include

#include

#include

#include

#include

#include

#include

#include

using namespace std;

#define inf 0x3f3f3f3f

typedef

long

long ll;

char pre[51]

,in[51]

;int n;

typedef

struct node* t;

struct node

;t create()

t build

(int la,

int ra,

int lb,

int rb)

}return head;

}int

height

(t head)

intmain()

7 23 還原二叉樹 (25 分)

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

7 23 還原二叉樹 25分

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

7 23 還原二叉樹 25分

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