講過 DFS,今天速速看個 BFS 的題目。這題要把二元樹轉成陣列,所以就從最上層的節點 node 開始,往下找 node.left 和 node.right,再一路拆下去,拆到最後就結束了。
var levelOrder = function(root) {
if (root == null) return []
let result = [];
const traverse = (node, level) => {
result[level] ? result[level].push(node.val) : result[level] = [node.val];
if (node.left) traverse(node.left, level + 1);
if (node.right) traverse(node.right, level + 1);
}
traverse(root, 0);
return result;
};