劍指offer 將二叉樹列印為多行

2021-08-22 13:00:43 字數 441 閱讀 9331

題目解答:將二叉樹從上列印,並且將其同一層的結點進行輸出,此種題目,首先我們想到的就是層序遍歷,將每乙個結點儲存在乙個佇列中,然後使用佇列中的元素作為分割,如果這一層的結點輸出完成,則將其直接push到乙個vector中,從而實現了每一層只有一行,具體描述如圖所示

**如下所示:

/*

struct treenode

};*/

class solution

vt.push_back(tmp);

}return vt;

}

有關二叉樹的層序輸出大概就這麼多的知識,如果大家有什麼好的想法,一起交流一起學習!!!

這世上哪有什麼奇蹟,奇蹟源於不放棄

劍指Offer 將二叉樹列印成多行

從上到下按層列印二叉樹,同一層結點從左至右輸出。每一層輸出一行。相比較層次遍歷二叉樹,這個地方要求每輸出一行都需要換行。重點思考的地方也就是,如何判斷一行列印完了,進行下一行的列印。先從層次遍歷開始,借用佇列結構,會依次把下一層的結點加入佇列中。那麼如何判斷一行列印完了?那麼我們可以維護兩個整型變數...

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

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

劍指offer 之字形列印二叉樹

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