二叉樹遍歷(已知先序 中序求後序)

2021-08-07 17:37:22 字數 673 閱讀 4615

時間限制: 1000 ms         記憶體限制: 65536 kb

提交數: 11     通過數: 9 

輸入一棵二叉樹的先序和中序遍歷序列,輸出其後序遍歷序列。

共兩行,第一行乙個字串,表示樹的先序遍歷,第二行乙個字串,表示樹的中序遍歷。樹的結點一律用小寫字母表示。

一行,表示樹的後序遍歷序列。

abdec

dbeac

debca
no

提交 統計資訊

{ int m=s2.find(s1[l1]);//找到根節點在中序遍歷中的位置

if(m>l2) calc(l1+1,m-l2+l1,l2,m-1);//遍歷左子樹

if(m>s1>>s2;

calc(0,s1.length()-1,0,s2.length()-1);

cout<

二叉樹已知先序中序求後序 已知中序後序求先序

在做資料結構面試題的時候我們會經常發現有關二叉樹的題目總是這樣的 栗子 已知某二叉樹先序為 中序為 求後序 已知某二叉樹中序為 後序為 求先序 需要注意的是 我們只能夠通過已知先序中序求後序或已知中序後序求先序,而不能夠已知先序和後序求中序 下面總結一下兩種題的做法 首先回顧知識點 第一種 已知乙個...

二叉樹 已知後序 中序遍歷,求先序遍歷

二叉樹後序遍歷序列是dabec,中序遍歷序列debac,它的前序遍歷的序列是什麼 1.由後序 lrd 得知c肯定為根結點 2.由中序 ldr 以c為根節點該樹必然只有左子樹 3.先從後序入樹 dabec 由遍歷規則得知,e 為第二層節點 於是有ce 4.結合中序遍歷debac觀察節點,由於 e為第二...

已知二叉樹先序遍歷中序遍歷求後序遍歷

思路簡介 先序遍歷中第乙個字母即為根節點,在中序遍歷中找到根節點的位置 把中序遍歷的字串序列從根節點分成兩部分,左側一部分構建左子樹,右側一部分構建右子樹 在 的基礎上在先序遍歷中也找到構建左右子樹的部分 遞迴還原二叉樹 後序遍歷輸出即可 include include using namespac...