劍指offer 之字形列印二叉樹,C 實現

2022-09-17 10:51:09 字數 879 閱讀 5947

本題牛客網位址

部落格文章索引位址

1.題目

請實現乙個函式按照之字形列印二叉樹,即第一行按照從左到右的順序列印,第二層按照從右至左的順序列印,第三行按照從左到右的順序列印,其他行以此類推。

例如:輸入二叉樹

輸出順序

13 2

4 5 6 7

15 14 13 12 12 10 9 8

2.思路

本題使用兩個棧作為輔助容器。列印某一層節點時,把下一層的子節點儲存到棧內。如果當前列印的是奇數層,則先儲存左子樹節點再儲存右子樹節點到第乙個棧內;如果當前列印的是偶數層,則先儲存右子樹在儲存左子樹節點到第二個棧內。

// 當前層為空時,列印下一層

58if(stk[now].empty())

59

65 }

66return results;

67 }

68 };

劍指offer 之字形列印二叉樹

請實現乙個函式按照之字形列印二叉樹,即第一行按照從左到右的順序列印,第二層按照從右至左的順序列印,第三行按照從左到右的順序列印,其他行以此類推。利用兩個棧 定義乙個兩個棧的陣列 用current和next分別指示當前層和下一層,如果當前層是奇數層 current 0 則下一層先入棧左節點再入棧右節點...

劍指offer 之字形列印二叉樹

請實現乙個函式按照之字形順序從上向下列印二叉樹。即第一行按照從左到右的順序列印,第二層按照從右到左的順序列印,第三行再按照從左到右的順序列印,其他行以此類推。輸入如下圖所示二叉樹 8,12,2,null,null,6,4,null,null,null,null 8 12 2 6 4 輸出 8 2,1...

劍指Offer 之字形列印二叉樹 Python

題目要求 請實現乙個函式按照之字形列印二叉樹,即第一行按照從左到右的順序列印,第二層按照從右至左的順序列印,第三行按照從左到右的順序列印,其他行以此類推。解題思路 之字形列印 先遍歷後進來的節點的子樹 類似於棧的思想 設定乙個棧用來裝上一層的節點 源節點,根據這乙個棧的節點遍歷它的左右子樹,遍歷完這...