假設乙個二叉樹上所有結點的權值都互不相同。
我們可以通過後序遍歷和中序遍歷來確定唯一二叉樹。
也可以通過前序遍歷和中序遍歷來確定唯一二叉樹。
但是,如果只通過前序遍歷和後序遍歷,則有可能無法確定唯一二叉樹。
現在,給定一組前序遍歷和後序遍歷,請你輸出對應二叉樹的中序遍歷。
如果樹不是唯一的,則輸出任意一種可能樹的中序遍歷即可。
輸入格式
第一行包含整數 nn,表示結點數量。
第二行給出前序遍歷序列。
第三行給出後序遍歷序列。
一行中的數字都用空格隔開。
輸出格式
首先第一行,如果樹唯一,則輸出 yes,如果不唯一,則輸出 no。
然後在第二行,輸出樹的中序遍歷。
注意,如果樹不唯一,則輸出任意一種可能的情況均可。
資料範圍
1≤n≤301≤n≤30
輸入樣例1:
71 2 3 4 6 7 5
2 6 7 4 5 3 1
輸出樣例1:
yes2 1 6 4 7 3 5
輸入樣例2:
41 2 3 4
2 4 3 1
輸出樣例2:
no2 1 3 4
#include
using
namespace std;
const
int n =40;
int n;
int pre[n]
, post[n]
;int
dfs(
int l1,
int r1,
int l2,
int r2, string& in)
}return cnt;
}int
main()
#include
using
namespace std;
const
int n =40;
int n;
int pre[n]
, post[n]
;bool flag=
true
;vector<
int>v;
void
dfs(
int l1,
int r1,
int l2,
int r2)
if(pre[l1]
== post[r2]
)else
v.push_back
(post[r2]);
dfs(i,r1,l2+i-
1-l1,r2-1)
;}}int
main()
return0;
}
PAT甲級真題1153
pat 准考證號由 44 部分組成 第 11 位是級別,即 t 代表頂級 a 代表甲級 b 代表乙級 第 2 42 4 位是考場編號,範圍從 101101 到 999999 第 5 105 10 位是考試日期,格式為年 月 日順次各佔 22 位 最後 11 1311 13 位是考生編號,範圍從 00...
PAT甲級真題 1014 Wait In Line
一 題目 二 思路 題意 模擬排隊,但和實際排隊的區別在於 思路 模擬排隊,記錄消費者辦理結束所需的總時間 以分鐘為單位,最後轉換為時刻,由等待時間 辦理時間組成 若等待時間wt 540,則給予sorry 否則,根據總時間sum算出相應時刻 注意 當兩個視窗同樣長且均未滿時,要同時入隊消費者,使之隊...
PAT甲級真題1140 外觀數列
外觀數列是指具有以下特點的整數序列 d,d1,d111,d113,d11231,d112213111,其中 d 是乙個 0,9 0,9 範圍內的不等於 11 的整數。序列的第 n 1n 1 項是對第 nn 項的描述。比如第 22 項表示第 11 項有 11 個 d,所以就是 d1 第 22 項是 1...