#yyds干货盘点# leetcode-102. 二叉树的层序遍历

Posted

tags:

篇首语:本文由小常识网(cha138.com)小编为大家整理,主要介绍了#yyds干货盘点# leetcode-102. 二叉树的层序遍历相关的知识,希望对你有一定的参考价值。

借助队列的先进先出特性,将要遍历的节点放到队列里,实现层序遍历




102. 二叉树的层序遍历
给你二叉树的根节点 root ,返回其节点值的 层序遍历 (即逐层地,从左到右访问所有节点)。



示例 1


输入:root = [3,9,20,null,null,15,7]
输出:[[3],[9,20],[15,7]]
示例 2

输入:root = [1]
输出:[[1]]
示例 3

输入:root = []
输出:[]


提示:

树中节点数目在范围 [0, 2000]
-1000 <= Node.val <= 1000
/**
* Definition for a binary tree node.
* public class TreeNode
* int val;
* TreeNode left;
* TreeNode right;
* TreeNode()
* TreeNode(int val) this.val = val;
* TreeNode(int val, TreeNode left, TreeNode right)
* this.val = val;
* this.left = left;
* this.right = right;
*
*
*/
class Solution
public List<List<Integer>> levelOrder(TreeNode root)
List<List<Integer>> re = new ArrayList<>();
if(root == null)
return re;

Queue<TreeNode> queue = new LinkedList();
queue.offer(root);
while(!queue.isEmpty())
List<Integer> res = new ArrayList<>();
int size = queue.size();//这里要用变量,否则 queue是动态变化的,无法确定循环次数
for (int i = 0; i < size; i++)
TreeNode treeNode = queue.poll();
res.add(treeNode.val);
if(treeNode.left!=null)
queue.add(treeNode.left);

if(treeNode.right!=null)
queue.add(treeNode.right);



re.add(res);


return re;

以上是关于#yyds干货盘点# leetcode-102. 二叉树的层序遍历的主要内容,如果未能解决你的问题,请参考以下文章

#yyds干货盘点#linux命令--uname

#yyds干货盘点#linux命令--hdparm

#yyds干货盘点#C++ static

#yyds干货盘点# 数字序列

#yyds干货盘点#异或操作

#yyds干货盘点#二分查找算法