102. 二叉树的层序遍历(广度优先)
Posted 沿着路走到底
tags:
篇首语:本文由小常识网(cha138.com)小编为大家整理,主要介绍了102. 二叉树的层序遍历(广度优先)相关的知识,希望对你有一定的参考价值。
1
/**
* Definition for a binary tree node.
* function TreeNode(val, left, right)
* this.val = (val===undefined ? 0 : val)
* this.left = (left===undefined ? null : left)
* this.right = (right===undefined ? null : right)
*
*/
/**
* @param TreeNode root
* @return number[][]
*/
var levelOrder = function(root)
const res = []
if (!root)
return res
// 声明队列用于存储后续数据
const queue = []
queue.push(root)
// 遍历队列
while(queue.length)
// 针对本轮操作,创建一个新的二维数组
res.push([])
const len = queue.length
for(let i = 0; i < len; i++)
// 将本次操作的节点出队
const node = queue.shift()
res[res.length-1].push(node.val)
// 检测是否存在左右子节点,如果有,就入队
if (node.left)
queue.push(node.left)
if (node.right)
queue.push(node.right)
return res
;
1
以上是关于102. 二叉树的层序遍历(广度优先)的主要内容,如果未能解决你的问题,请参考以下文章
LeetCode Java刷题笔记—102. 二叉树的层序遍历
LeetCode Algorithm 102. 二叉树的层序遍历