1. 程式人生 > 實用技巧 >先序中序遍歷__還原二叉樹

先序中序遍歷__還原二叉樹

4-1-二叉樹及其遍歷還原二叉樹(25分)

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

輸入格式:

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

輸出格式:

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

輸入樣例:

9
ABDFGHIEC
FDHGIBEAC

輸出樣例:

5

解題思路
1.樹是遞迴定義的,一定要記住這句話
所以一個樹的先序遍歷,他的根的左右兒子也是先序遍歷
中序遍歷同理
我們拿樣例來模擬

然後再把左子樹的兩種序列進行處理
稍加計算出起始位置就行了

然後遞迴處理就可以,剩下的就不模擬了


中序遍歷同理
2.先序遍歷的第一個節點就是根節點
3.找到先序的根節點之後,在中序裡面找到這個值
該值左邊序列的就是左子樹的先序遍歷,右邊的就是右子樹的
然後在先序遍歷中,數相同的長度
左子樹的先序遍歷,遞迴操作即可