對於給定的二叉樹,本題要求你按從上到下、從左到右的順序輸出其所有葉節點。
輸入格式:
首先第一行給出乙個正整數 n(≤10),為樹中結點總數。樹中的結點從 0 到 n−1 編號。隨後 n 行,每行給出乙個對應結點左右孩子的編號。如果某個孩子不存在,則在對應位置給出 「-」。編號間以 1 個空格分隔。
輸出格式:
在一行中按規定順序輸出葉節點的編號。編號間以 1 個空格分隔,行首尾不得有多餘空格。
輸入樣例:
8
1 -- -
0 -2 7
- -- -
5 -4 6
輸出樣例:
4 1 5
#include
#include
#include
using namespace std;
struct treev[11]
;int flag,n,vis[11]
,root,cnt;
void
dfs(int h,int w)
bool cmp
(tree a,tree b)
int main()
scanf
("%d"
,&n)
;for
(int i=
0;i(b!=
'-')
}for
(int j=
0;jdfs(root,1)
;sort
(v,v+n,cmp)
;for
(int i=
0;i)else
printf
(" %d"
,v[i].id
);}}
return0;
}
用佇列存可以不用記錄第幾個搜尋到的:
// #include
#include
#include
using namespace std;
struct nodea[15]
;queues;
int b[15]
,flag;
void
dfs(int root)
else
printf
(" %d"
,z.data);}
}}int main()
for(int i=
0;ireturn0;
}
列出葉結點 (25 分)
對於給定的二叉樹,本題要求你按從上到下 從左到右的順序輸出其所有葉節點。首先第一行給出乙個正整數 n 10 為樹中結點總數。樹中的結點從 0 到 n 1 編號。隨後 n行,每行給出乙個對應結點左右孩子的編號。如果某個孩子不存在,則在對應位置給出 編號間以 1 個空格分隔。在一行中按規定順序輸出葉節點...
列出葉結點 25分
對於給定的二叉樹,本題要求你按從上到下 從左到右的順序輸出其所有葉節點。輸入格式 首先第一行給出乙個正整數 n 10 為樹中結點總數。樹中的結點從 0 到 n 1 編號。隨後 n 行,每行給出乙個對應結點左右孩子的編號。如果某個孩子不存在,則在對應位置給出 編號間以 1 個空格分隔。輸出格式 在一行...
PTA 列出葉結點 25分
pta 列出葉結點 題目描述 對於給定的二叉樹,本題要求你按從上到下 從左到右的順序輸出其所有葉節點。輸入格式 首先第一行給出乙個正整數 n 10 為樹中結點總數。樹中的結點從 0 到 n 1 編號。隨後 n 行,每行給出乙個對應結點左右孩子的編號。如果某個孩子不存在,則在對應位置給出 編號間以 1...