N 叉树的层序遍历
解题思路:同 199 等层序遍历的题型;
复杂度:
-
时间复杂度:O(n),其中 n 是树中包含的节点个数,在广度优先搜索的过程中,需要遍历每一个节点恰好一次;
-
空间复杂度:O(n),即为队列需要使用的空间,在最坏的情况下,树只有两层,且最后一层有 n-1 个节点,此时就需要 O(n) 的空间;
代码实现:
var levelOrder = function (root) {
let res = [];
if (root === null) {
return res
}
let queue = [root];
while (queue.length) {
let len = queue.length;
let stackLevel = [];
while (len--) {
let node = queue.shift();
stackLevel.push(node.val);
node.children && node.children.forEach(it => {
it && queue.push(it)
})
}
res.push(stackLevel);
}
return res;
};
115.不同的子序列
上一篇