我正在努力解决leetcode问题429.N叉树级序遍历
我使用了基本级别顺序遍历的概念,如下所示
var levelOrder = function(root) {
let queue = [root, null];
let result = [];
let tmp = [];
for(let i=0; i<queue.length; i++){
let node = queue[i];
if(!node){
result.push(tmp);
tmp = new Array();
if(i !== queue.length-1) queue.push(null);
}else{
queue = [...queue, ...node.children];
tmp.push(node.val);
}
}
return result;
};
我试着运行示例测试--提供的案例:
TC-1
TC-2
问题
在提交相同的代码时,我可以看到以下错误:
有人能解释一下这里出了什么问题吗?有什么需要解决的?
发布于 2022-09-16 15:00:54
当测试用例将空树传递给函数时,即root
是null
时,就会发生问题。
在这种情况下,循环不断向队列中添加null
值。
因此,在函数中添加一个null
检查:
if (!root) return [];
https://stackoverflow.com/questions/73745843
复制相似问题