PAT 列出葉結點

2021-08-19 21:51:18 字數 949 閱讀 7103

首先第一行給出乙個正整數 n(

≤10),為樹中結點總數。樹中的結點從 0 到 n−

1 編號。隨後 

n 行,每行給出乙個對應結點左右孩子的編號。如果某個孩子不存在,則在對應位置給出 "-"。編號間以 1 個空格分隔。

在一行中按規定順序輸出葉節點的編號。編號間以 1 個空格分隔,行首尾不得有多餘空格。

8

1 -- -

0 -2 7

- -- -

5 -4 6

4 1 5

先找出根結點,然後再層次遍歷找葉子即可,ac**如下:

#include#include#define max 15

using namespace std;

typedef struct bitnode

bitnode;

bitnode p[max];

int n,root,arr[max];

int build()

else

p[i].lchild = -1;

if(b != '-')

else

p[i].rchild = -1;

}for(int i = 0;i < n; i++)

if(!arr[i])

return i;

}void level()

else if(p[fx].lchild != -1 && p[fx].rchild != -1)

else if(p[fx].lchild == -1)

que[tail++] = p[fx].rchild;

else

que[tail++] = p[fx].lchild;

head++;

}}int main()

列出葉結點

對於給定的二叉樹,本題要求你按從上到下 從左到右的順序輸出其所有葉節點。輸入格式 首先第一行給出乙個正整數 n 10 為樹中結點總數。樹中的結點從 0 到 n 1 編號。隨後 n 行,每行給出乙個對應結點左右孩子的編號。如果某個孩子不存在,則在對應位置給出 編號間以 1 個空格分隔。輸出格式 在一行...

列出葉結點

對於給定的二叉樹,本題要求你按從上到下 從左到右的順序輸出其所有葉節點。輸入格式 首先第一行給出乙個正整數 n 10 為樹中結點總數。樹中的結點從 0 到 n 1 編號。隨後 n 行,每行給出乙個對應結點左右孩子的編號。如果某個孩子不存在,則在對應位置給出 編號間以 1 個空格分隔。輸出格式 在一行...

列出葉結點

問題 對於給定的二叉樹,本題要求你按從上到下 從左到右的順序輸出其所有葉節點。輸入格式 首先第一行給出乙個正整數 n 10 為樹中結點總數。樹中的結點從 0 到 n 1 編號。隨後 n 行,每行給出乙個對應結點左右孩子的編號。如果某個孩子不存在,則在對應位置給出 編號間以 1 個空格分隔。輸出格式 ...