【題目描述】
樹和二叉樹基本上都有先序、中序、後序、按層遍歷等遍歷順序,給定中序和其它一種遍歷的序列就可以確定一棵二叉樹的結構。
假定一棵二叉樹乙個結點用乙個字元描述,現在給出中序和按層遍歷的字串,求該樹的先序遍歷字串。
【輸入】
兩行,每行是由字母組成的字串(一行的每個字元都是唯一的),分別表示二叉樹的中序遍歷和按層遍歷的序列。
【輸出】
一行,表示二叉樹的先序序列。
【輸入樣例】
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共兩行,每行是由字母組成的字串 一行的每個字元都是唯...