題目描述:從上往下列印出二叉樹的每個節點,同層節點從左至右列印。
輸入:輸入可能包含多個測試樣例,輸入以eof結束。
對於每個測試案例,輸入的第一行乙個整數n(1<=n<=1000, :n代表將要輸入的二叉樹元素的個數(節點從1開始編號)。接下來一行有n個數字,代表第i個二叉樹節點的元素的值。接下來有n行,每行有乙個字母ci。
ci=』d』表示第i個節點有兩子孩子,緊接著是左孩子編號和右孩子編號。
ci=』l』表示第i個節點有乙個左孩子,緊接著是左孩子的編號。
ci=』r』表示第i個節點有乙個右孩子,緊接著是右孩子的編號。
ci=』z』表示第i個節點沒有子孩子。
輸出:對應每個測試案例,
按照從上之下,從左至右列印出二叉樹節點的值。
樣例輸入:
78 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...