微軟,Google面試題 (12) —— 從上往下遍歷二叉樹

題目:輸入一顆二元樹,從上往下按層打印樹的每個結點,同一層中按照從左往右的順序打印。

例如輸入

      8
    /  /
   6    10
  //     //
 5  7   9  11

輸出8   6   10   5   7   9   11。
解法:樹是圖的一種特殊的退化形式。本題就是一個廣度優先遍歷圖的問題。首先把root放進一個隊列。開始循環,當隊列不爲空的時候。pop並且打印隊首元素。然後把對手元素的孩子節點從左到右依次push進隊列。繼續循環。

發佈了103 篇原創文章 · 獲贊 3 · 訪問量 18萬+
發表評論
所有評論
還沒有人評論,想成為第一個評論的人麼? 請在上方評論欄輸入並且點擊發布.
相關文章