劍指offer 之字形列印二叉樹

2021-10-02 10:35:33 字數 662 閱讀 1652

請實現乙個函式按照之字形順序從上向下列印二叉樹。

即第一行按照從左到右的順序列印,第二層按照從右到左的順序列印,第三行再按照從左到右的順序列印,其他行以此類推。

輸入如下圖所示二叉樹[8, 12, 2, null, null, 6, 4, null, null, null, null]

8/  \

12  2

/  \

6  4

輸出:[[8], [2, 12], [6, 4]]

本題即樹的層序遍歷的拓展

注意

/**

* definition for a binary tree node.

* struct treenode

* };

*/class

solution

if(flag ==

true

)reverse

(level.

begin()

, level.

end())

; ans.

push_back

(level);}

return ans;}}

;

劍指offer 之字形列印二叉樹

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

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

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

劍指offer之之字形列印二叉樹

題目 請實現乙個函式按照之字形順序列印二叉樹,即第一行按照從左到右的順序列印,第二層按照從右到左的順序列印,第三行再按照從左到右的順序列印,其他行以此類推。前面講述了分行分成列印二叉樹,這裡要之字形。例子 8 4 12 2 6 10 14 1 3 5 7 9 11 13 15列印結果應該是 8 12...