給定一棵二叉樹的先序遍歷序列和中序遍歷序列,要求計算該二叉樹的高度。
輸入格式:
輸入首先給出正整數n(≤50),為樹中結點總數。下面兩行先後給出先序和中序遍歷序列,均是長度為n的不包含重複英文本母(區別大小寫)的字串。
輸出格式:
輸出為乙個整數,即該二叉樹的高度。
輸入樣例:
9abdfghiec
fdhgibeac
輸出樣例:
5思路
注意不要把題目複雜化重建樹就好了,之前說了怎麼根據後續和前序遍歷重建樹的思想,所以下面**一看就懂
**
#include
using
namespace std;
unordered_map<
char
,int
> inorder_index;
char pre_order[50]
;char in_order[50]
;int
depth
(int pre_start,
int pre_end,
int in_start,
int in_end)
intmain()
cout <<
depth(0
, n-1,
0, n-1)
;}
還原二叉樹(25 分)
給定一棵二叉樹的先序遍歷序列和中序遍歷序列,要求計算該二叉樹的高度。輸入首先給出正整數n 50 為樹中結點總數。下面兩行先後給出先序和中序遍歷序列,均是長度為n的不包含重複英文本母 區別大小寫 的字串。輸出為乙個整數,即該二叉樹的高度。9 abdfghiec fdhgibeac5 輸入 前序遍歷,中...
還原二叉樹(25 分)
給定一棵二叉樹的先序遍歷序列和中序遍歷序列,要求計算該二叉樹的高度。輸入首先給出正整數n 50 為樹中結點總數。下面兩行先後給出先序和中序遍歷序列,均是長度為n的不包含重複英文本母 區別大小寫 的字串。輸出為乙個整數,即該二叉樹的高度。9 abdfghiec fdhgibeac5 include i...
還原二叉樹 25 分
給定一棵二叉樹的先序遍歷序列和中序遍歷序列,要求計算該二叉樹的高度。輸入首先給出正整數n 50 為樹中結點總數。下面兩行先後給出先序和中序遍歷序列,均是長度為n的不包含重複英文本母 區別大小寫 的字串。輸出為乙個整數,即該二叉樹的高度。9abdfghiec fdhgibeac include inc...