//dfs实现
var levelOrder = function (root) {
let result = [];
const dfs = (root, l) => {
if (!root) return;
if (result[l]) {
result[l].push(root.val);
} else {
result[l] = [root.val];
}
dfs(root.left, l + 1);
dfs(root.right, l + 1);
};
dfs(root, 0);
return result;
};
//bfs 实现
var levelOrder = function (root) {
if (!root) return [];
const result = [];
const q = [[root, 0]];
while (q.length) {
let [cur, l] = q.shift();
if (!result[l]) {
result[l] = [cur.val];
} else {
result[l].push(cur.val);
}
if (cur.left) q.push([cur.left, l + 1]);
if (cur.right) q.push([cur.right, l + 1]);
}
return result;
};