1364 二叉樹遍歷 flist

2021-09-26 23:07:46 字數 723 閱讀 1778

【題目描述】

樹和二叉樹基本上都有先序、中序、後序、按層遍歷等遍歷順序,給定中序和其它一種遍歷的序列就可以確定一棵二叉樹的結構。

假定一棵二叉樹乙個結點用乙個字元描述,現在給出中序和按層遍歷的字串,求該樹的先序遍歷字串。

【輸入】

兩行,每行是由字母組成的字串(一行的每個字元都是唯一的),分別表示二叉樹的中序遍歷和按層遍歷的序列。

【輸出】

一行,表示二叉樹的先序序列。

【輸入樣例】

dbeac

abcde

【輸出樣例】

abdec

【**】

no確實沒想到,雖然看完別人的之後有點眉目,但之前還是有點卡殼,整體思路還是先找根,題目要求按照先序,就按照先序的順序遞迴,關鍵是中序和層次的配合怎麼找根,一開始我知道先找跟,但是層次遍歷的根無法正確的判斷到底是左根還是右根,

層次遍歷的結果都是根,但是猛一看你是不知道到底是左根還是右根,其實,在遍歷層次遍歷的時候,如果你遍歷左子樹,在左子樹第一次找到與層次遍歷相等的時候,那個叫是根,然後遞迴輸出就可以了

#include#includeusing namespace std;

string in,layer;

void pre(int inl,int inr,int layerl,int layerr)

參考

雖然我把0,換成t,想節約點時間,但發現並沒有什麼卵用= =

1364 二叉樹遍歷 flist

樹和二叉樹基本上都有先序 中序 後序 按層遍歷等遍歷順序,給定中序和其它一種遍歷的序列就可以確定一棵二叉樹的結構。假定一棵二叉樹乙個結點用乙個字元描述,現在給出中序和按層遍歷的字串,求該樹的先序遍歷字串。兩行,每行是由字母組成的字串 一行的每個字元都是唯一的 分別表示二叉樹的中序遍歷和按層遍歷的序列...

ybt1364 二叉樹遍歷

時空限制 1000ms 128mb 樹和二叉樹基本上都有先序 中序 後序 按層遍歷等遍歷順序,給定中序和其它一種遍歷的序列就可以確定一棵二叉樹的結構。假定一棵二叉樹乙個結點用乙個字元描述,現在給出中序和按層遍歷的字串,求該樹的先序遍歷字串。兩行,每行是由字母組成的字串 一行的每個字元都是唯一的 分別...

二叉樹遍歷 flist 中序和按層

問題描述 樹和二叉樹基本上都有先序 中序 後序 按層遍歷等遍歷順序,給定中序和其它一種遍歷的序列就可以確定一棵二叉樹的結構。假定一棵二叉樹乙個結點用乙個字元描述,現在給出中序和按層遍歷的字串,求該樹的先序遍歷字串。輸入格式 輸入檔案flist.in共兩行,每行是由字母組成的字串 一行的每個字元都是唯...