JZ59 按之字形順序列印二叉樹
阿新 • • 發佈:2021-08-20
描述
給定一個二叉樹,返回該二叉樹的之字形層序遍歷,(第一層從左向右,下一層從右向左,一直這樣交替)例如:
給定的二叉樹是{1,2,3,#,#,4,5}
該二叉樹之字形層序遍歷的結果是 [ [1], [3,2], [4,5] ]
示例1
輸入:{1,2,3,#,#,4,5}返回值:
[[1],[3,2],[4,5]]
示例2
輸入:{8,6,10,5,7,9,11}返回值:
[[8],[10,6],[5,7,9,11]]
示例3
輸入:{1,2,3,4,5}返回值:
[[1],[3,2],[4,5]
=====================================================================================================================
解題思路:
我的解題思路是用堆疊進行操作,分為奇數行和偶數行,奇數行的話先進入左孩子,再進入右孩子。偶數行的話先進入右孩子再進入左孩子,這樣子做雖然達到了目的,但是比較複雜,剛剛檢視解析發現了一種更簡單的做法,利用佇列來做,
然後再list裡面對偶數行進行反轉就行,屬實比我想的簡單很多。