列出葉結點 25分

2021-10-02 15:48:34 字數 1294 閱讀 7954

對於給定的二叉樹,本題要求你按從上到下、從左到右的順序輸出其所有葉節點。

輸入格式:

首先第一行給出乙個正整數 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...