從上到下列印出二叉樹的每個節點,同一層的節點按照從左到右的順序列印。
例如:給定二叉樹: [3,9,20,null,null,15,7],
3
/ \9 20
/ \
15 7
返回:
[3,9,20,15,7]
解題思路:
演算法流程:
特例處理:當樹的根節點為空,則直接返回空列表 ;
初始化:列印結果列表 res = ,包含根節點的佇列 queue = [root] ;
bfs 迴圈:當佇列 queue 為空時跳出;
出隊:對手元素出隊,標記為node
列印:將node.val
加入list 尾部
入隊:若node
的左(右)子節點不為空,則將子節點依次加入到queue
佇列中
返回值:返回列印列表res
即可
**:
class
solution
int[
] res =
newint
[list.
size()
];for(
int i =
0; isize()
; i++
)return res;
}}
從上到下列印二叉樹
原理是二叉樹的層次遍歷 可以用乙個佇列輔助,先將二叉樹根節點入隊,然後出隊,將該節點存入vector中,之後判斷根節點的左子樹和右子樹是否為空,若不為空,依次入隊。然後出隊,再訪問出隊的結點是否有左右子樹,以此類推。核心 vectorprintfromtoptobottom treenode roo...
從上到下列印二叉樹
例如 給定二叉樹 3,9,20,null,null,15,7 3 9 20 15 7 返回 3,9,20,15,7 2.1 思路分析 題目要求的二叉樹從上到下列印 即按層列印 又稱為二叉樹的廣度優先搜尋 bfs bfs通常借助佇列的先入先出特性來實現。2.2 演算法流程 特例處理 當樹的根結點為空,...
從上到下列印二叉樹
題目描述 從上往下列印出二叉樹的每個節點,同層節點從左至右列印。例項 輸入 輸出 5,4,3,2,1 思路 這裡本質上就是層序遍歷二叉樹,需要輔助列表儲存按層序輸出的節點。符合佇列,從一邊進,另一邊取出。class solution 返回從上到下每個節點值列表,例 1,2,3 defprintfro...