劍指 33,上往下列印二叉樹

2021-10-03 03:12:13 字數 370 閱讀 2678

題目描述

從上往下列印出二叉樹的每個節點,同層節點從左至右列印。

思路:首先要從左到右列印節點,通過乙個輔助佇列,將從根節點壓入就是第一層了,這就是從左到右的第一層,然後壓入乙個標誌位,表示一層結束。然後遍歷該佇列,順序標誌改變,輸入從右到左。直到為空。(這是按照 之 形列印二叉樹的流程)

對於本題,只需要用乙個佇列就行了,壓入根節點後就迴圈,迴圈(先壓進結果陣列,然後判斷左右節點。最後彈出首節點)直到隊列為空

**:

class

solution

return res;

}

劍指offer 從上往下列印二叉樹

定義乙個佇列,依次加入佇列頭的子節點,並將佇列頭出佇列,知道隊列為空 coding utf 8 class treenode def init self,x self.val x self.left none self.right none class solution 返回從上到下每個節點值列表,...

劍指offer 從上往下列印二叉樹

題目描述 從上往下列印出二叉樹的每個節點,同層節點從左至右列印。其實就是二叉樹的層序遍歷 遍歷結果 a b c d e f g h 先存進去的節點先列印,這樣的特性不就和佇列fifo的特性相同了嗎?處理的方法就是將二叉樹的節點從上到下,從左到右的存入佇列中,然後逐個列印。struct treenod...

劍指offer 從上往下列印二叉樹

從上往下列印出二叉樹的每個節點,同層節點從左至右列印。二叉樹的廣度優先遍歷 struct treenode class solution return res 說到遍歷,dfs的遞迴和非遞迴寫法非常熟悉,我心血來潮,覺得bfs的遞迴寫法好像很陌生啊,於是開始寫 void bfs treenode r...