7 23 還原二叉樹

2021-10-05 09:10:03 字數 654 閱讀 4443

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

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

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

9

abdfghiec

fdhgibeac

5
這道題主要是用到了一些規律:

先序遍歷序列和中序遍歷序列一起就能唯一確定一棵二叉樹,並且對於每乙個子樹來說,先序遍歷的第乙個元素就是樹的根節點,然後根據這個根節點在中序序列中的位置就能確定其左右兩棵子樹。我們只需要遞迴遍歷二叉樹的所有子樹,然後選擇左右子樹中高的那棵子樹的高度返回即可。

#include #include #include using namespace std;

#define maxsize 110

//a是先序遍歷序列,b是中序遍歷序列

//n是子樹的總結點數

int getdeep(char a, char b, int n)

return max;

} int main()

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...