對於給定的二叉樹,本題要求你按從上到下、從左到右的順序輸出其所有葉節點。
首先第一行給出乙個正整數 n(≤10),為樹中結點總數。樹中的結點從 0 到 n−1 編號。隨後 n 行,每行給出乙個對應結點左右孩子的編號。如果某個孩子不存在,則在對應位置給出 "-"。編號間以 1 個空格分隔。
在一行中按規定順序輸出葉節點的編號。編號間以 1 個空格分隔,行首尾不得有多餘空格。
8
1 -- -
0 -2 7
- -- -
5 -4 6
4 1 5
#include#include#include#include#include#include#includeusing namespace std;
struct nodep[15];
int root[15];
vectorleaf[15];
void func(int s,int cur)
if(p[s].left!='-') func(p[s].left-'0',cur+1);
if(p[s].right!='-') func(p[s].right-'0',cur+1);
}int main()
int rt;//記錄根節點下標
for(int i=0;i} func(rt,1);//將葉節點儲存
int f=0;
for(int i=1;i<=n;i++)
} cout
}
7 14 列出葉結點 25 分
對於給定的二叉樹,本題要求你按從上到下 從左到右的順序輸出其所有葉節點。首先第一行給出乙個正整數 n 10 為樹中結點總數。樹中的結點從 0 到 n 1 編號。隨後 n 行,每行給出乙個對應結點左右孩子的編號。如果某個孩子不存在,則在對應位置給出 編號間以 1 個空格分隔。在一行中按規定順序輸出葉節...
7 3 列出葉結點 25分
對於給定的二叉樹,本題要求你按從上到下 從左到右的順序輸出其所有葉節點。首先第一行給出乙個正整數 n 10 為樹中結點總數。樹中的結點從 0 到 n 1 編號。隨後 n 行,每行給出乙個對應結點左右孩子的編號。如果某個孩子不存在,則在對應位置給出 編號間以 1 個空格分隔。在一行中按規定順序輸出葉節...
列出葉結點 (25 分)
對於給定的二叉樹,本題要求你按從上到下 從左到右的順序輸出其所有葉節點。首先第一行給出乙個正整數 n 10 為樹中結點總數。樹中的結點從 0 到 n 1 編號。隨後 n行,每行給出乙個對應結點左右孩子的編號。如果某個孩子不存在,則在對應位置給出 編號間以 1 個空格分隔。在一行中按規定順序輸出葉節點...