题目描述
思路分析
外部使用一个容器来存储,借助一个临时的栈来存储每一层的节点,之后根绝临时栈不为空的条件来遍历每一层,并将结果存到容器中
代码参考
const levelOrder = function (root) {
//二叉树的层序遍历
let res = [], queue = []
if (root === null) {
return res
}
queue.push(root)
while (queue.length !== 0) {
// 记录当前层级节点数
let length = queue.length
//存放每一层的节点
let curLevel = []
for (let i = 0; i < length; i++) {
let node = queue.shift()
curLevel.push(node.val)
// 存放当前层下一层的节点
node.left && queue.push(node.left)
node.right && queue.push(node.right)
}
//把每一层的结果放到结果数组
res.push(curLevel)
}
return res
}
标签:node,层序,res,BM26,queue,length,let,二叉树,push
From: https://www.cnblogs.com/zx529/p/17018952.html