1. 程式人生 > 其它 >JZ59 按之字形順序列印二叉樹

JZ59 按之字形順序列印二叉樹

描述

給定一個二叉樹,返回該二叉樹的之字形層序遍歷,(第一層從左向右,下一層從右向左,一直這樣交替)
例如:
給定的二叉樹是{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裡面對偶數行進行反轉就行,屬實比我想的簡單很多。