给你二叉树的根节点
root,返回其节点值的 层序遍历 。 (即逐层地,从左到右访问所有节点)。
解法 bfs层序遍历
思路
使用队列遍历即可。
代码
function levelOrder(root: TreeNode | null): number[][] {
const result = [];
if (!root) return result;
const queue = [root];
while (queue.length) {
let size = queue.length;
const level = [];
while (size--) {
const node = queue.shift()!;
level.push(node.val);
if (node.left) queue.push(node.left);
if (node.right) queue.push(node.right);
}
result.push(level);
}
return result;
};
时空复杂度
时间复杂度:O(n)
空间复杂度:O(n)