1. 程式人生 > >已知某二叉樹的某兩種遍歷序列,求另一種遍歷序列面試題解法總結(轉)

已知某二叉樹的某兩種遍歷序列,求另一種遍歷序列面試題解法總結(轉)

某二叉樹的後序遍歷序列為dabec,中序遍歷序列為debac,則前序遍歷序列為 。
A、acbed
B、 decab
C、 deabc
D、 cedba

解法如下:

先在兩種遍歷序列中找臨近的兩個或三個字元(內容相同,但順序可能相同或者不同),如上例,從右向左找,先找出的是ab,根據後序和中序,可還原一棵子樹是b是左孩子,a是根結點,然後把還原的這棵子樹作為一個新的整體,再按照剛才同樣的規則與其他字元結合,進一步還原成一個更大的子樹,最終還原成一棵完整的樹。就可求出另一種遍歷序列。