var levelOrder = function (root) {
// 如果系统给的根元素为空,直接返回
if (!root) return [];
// 定义一个队列用于存放同一层的元素
let queue = [];
// 首先让根元素入队
queue.push(root);
// 只要队中有元素就进入循环
// 定义最终结果数组
const res = [];
while (queue.length !== 0) {
// res.push([...queue]);
const temp = [];
const temp2 = []
// 队列首元素出队
while (queue[0]) {
temp2.push(queue[0].val);
temp.push(queue.shift())
}
res.push(temp2);
while (temp[0]) {
if (temp[0].left !== null) queue.push(temp[0].left);
if (temp[0].right !== null) queue.push(temp[0].right);
temp.shift();
}
}
return res;
};
作者:Always_positive
链接:https://juejin.cn/post/6948663693873791006
来源:稀土掘金
著作权归作者所有。商业转载请联系作者获得授权,非商业转载请注明出处。