思路:當這棵樹有兩個子樹時,ans=dfs(l[root])*(r[root]);
當這棵樹有乙個子樹時,ans=dfs(child[root])<<1;
當這棵樹沒有子樹時,ans=1;
遞迴即可。
但是這裡我寫的時候一不小心寫錯了乙個問題,就是第一種情況應該是乘而非加。。
#includeusing namespace std;
#include#include#include#includetypedef short hd;
hd qpos[27],hpos[27];
char qm[28],hb[28];
int dfs(hd ql,hd qr,hd hl,hd hr)
int main(){
scanf("%s%s",qm,hb);
hd ql=strlen(qm);
for(hd i=0;i
其ans若是增加,必是因為其出現了僅有一棵子樹的情況(<<1),所以我們只要統計只有一棵子樹的節點個數n,輸出2< 我們都很熟悉二叉樹的前序 中序 後序遍歷,在資料結構中常提出這樣的問題 已知一棵二叉樹的前序和中序遍歷,求它的後序遍歷,相應的,已知一棵二叉樹的後序遍歷和中序遍歷序列你也能求出它的前序遍歷。然而給定一棵二叉樹的前序和後序,你卻不能確定其中序遍歷序列,考慮如下圖中的幾棵二叉樹 所有這些二叉樹都有著相同... 我們都非常熟悉二叉樹的前序 中序 後序遍歷,在資料結構中常提出這種問題 已知一棵二叉樹的前序和中序遍歷。求它的後序遍歷。對應的,已知一棵二叉樹的後序遍歷和中序遍歷序列你也能求出它的前序遍歷。然而給定一棵二叉樹的前序和後序,你卻不能確定當中序遍歷序列,考慮例如以下圖中的幾棵二叉樹 全部這些二叉樹都有著... codevs1029 遍歷問題 試題描述 我們都很熟悉二叉樹的前序 中序 後序遍歷,在資料結構中常提出這樣的問題 已知一棵二叉樹的前序和中序遍歷,求它的後序遍歷,相應的,已知一棵二叉樹的後序遍歷和中序遍歷序列你也能求出它的前序遍歷。然而給定一棵二叉樹的前序和後序,你卻不能確定其中序遍歷序列,考慮如下...CODEVS 1029 遍歷問題
CODEVS 1029 遍歷問題
codevs1029 遍歷問題