題目1523 從上往下列印二叉樹

2021-06-18 09:57:33 字數 1216 閱讀 1379

題目描述:從上往下列印出二叉樹的每個節點,同層節點從左至右列印。

輸入:輸入可能包含多個測試樣例,輸入以eof結束。

對於每個測試案例,輸入的第一行乙個整數n(1<=n<=1000, :n代表將要輸入的二叉樹元素的個數(節點從1開始編號)。接下來一行有n個數字,代表第i個二叉樹節點的元素的值。接下來有n行,每行有乙個字母ci。

ci=』d』表示第i個節點有兩子孩子,緊接著是左孩子編號和右孩子編號。

ci=』l』表示第i個節點有乙個左孩子,緊接著是左孩子的編號。

ci=』r』表示第i個節點有乙個右孩子,緊接著是右孩子的編號。

ci=』z』表示第i個節點沒有子孩子。

輸出:對應每個測試案例,

按照從上之下,從左至右列印出二叉樹節點的值。

樣例輸入:

7

8 6 5 7 10 9 11

d 2 5

d 3 4zz

d 6 7

zz

樣例輸出:

8 6 10 5 7 9 11

/*思路:根據題意建立二叉樹,然後做廣搜*/

#include#include#include#include#include#define max 1003

using namespace std ;

typedef struct node

node , *tree ;

void init(tree a)

queueq ;

int c[max] , k = 0 ;

void print(tree t)

} return ;

}int main(void)

char s[5] ;

int l , r ;

for( i = 1 ; i <= n ; i ++)

case 'l':

case 'r':

default : break;

}} print(a[1]);

for( i = 0 ; i < k-1 ; i ++)

printf("%d ",c[i]);

printf("%d\n",c[k-1]);

} return 0 ;

}

從上往下列印二叉樹

從上往下列印二叉樹需要乙個雙端佇列,stl提供了deque容器符合我們的要求,和測試 如下 include include include using namespace std struct binarytreenode binarytreenode createbinarytreenode in...

從上往下列印二叉樹

題目描述 從上往下列印出二叉樹的每個節點,同層節點從左至右列印。思路 用佇列儲存將要列印的節點,出佇列時,將左節點和右節點分別加入佇列當中,直到隊列為空,列印完畢。public arraylist integer printfromtoptobottom treenode root queue qu...

從上往下列印二叉樹

題目 從上往下列印出二叉樹的每個結點,同一層的結點按照從左到右的順序列印。程式 include include include struct binarytreenode 函式名稱 createbinarytree 函式功能 通過二叉樹的先序序列建立二叉樹 輸入引數 proot 二叉樹的根節點 st...