#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. 二叉树的层序遍历的主要内容,如果未能解决你的问题,请参考以下文章