题目:
给你一个二叉树,请你返回其按 层序遍历 得到的节点值。 (即逐层地,从左到右访问所有节点)。
示例:
二叉树:[3,9,20,null,null,15,7],
3
/ \
9 20
/ \
15 7
返回其层次遍历结果:
[
[3],
[9,20],
[15,7]
]
解题:
var levelOrder = function (root) {
if(!root) return [];
const q =[root];
const res = [];
while (q.length) {
let len =q.length;
res.push([]);
while(len--) {
const n = q.shift();
res[res.length -1].push(n.val);
if(n.left) q.push(n.left);
if(n.right) q.push(n.right);
}
}
return res;
}
时间复杂度:O(n) :
n是树的节点数
空间复杂度O(n):
n是树的节点数