先序中序遍歷__還原二叉樹
阿新 • • 發佈:2020-09-07
4-1-二叉樹及其遍歷還原二叉樹(25分)
給定一棵二叉樹的先序遍歷序列和中序遍歷序列,要求計算該二叉樹的高度。
輸入格式:
輸入首先給出正整數N(≤50),為樹中結點總數。下面兩行先後給出先序和中序遍歷序列,均是長度為N的不包含重複英文字母(區別大小寫)的字串。
輸出格式:
輸出為一個整數,即該二叉樹的高度。
輸入樣例:
9
ABDFGHIEC
FDHGIBEAC
輸出樣例:
5
解題思路
1.樹是遞迴定義的,一定要記住這句話
所以一個樹的先序遍歷,他的根的左右兒子也是先序遍歷
中序遍歷同理
我們拿樣例來模擬
然後再把左子樹的兩種序列進行處理
稍加計算出起始位置就行了
然後遞迴處理就可以,剩下的就不模擬了
中序遍歷同理
2.先序遍歷的第一個節點就是根節點
3.找到先序的根節點之後,在中序裡面找到這個值
該值左邊序列的就是左子樹的先序遍歷,右邊的就是右子樹的
然後在先序遍歷中,數相同的長度
左子樹的先序遍歷,遞迴操作即可