#yyds干货盘点# 面试必刷TOP101:求二叉树的层序遍历
Posted 97的风
tags:
篇首语:本文由小常识网(cha138.com)小编为大家整理,主要介绍了#yyds干货盘点# 面试必刷TOP101:求二叉树的层序遍历相关的知识,希望对你有一定的参考价值。
1.简述:
给定一个二叉树,返回该二叉树层序遍历的结果,(从左到右,一层一层地遍历)
例如:
给定的二叉树是3,9,20,#,#,15,7,
该二叉树层序遍历的结果是
[
[3],
[9,20],
[15,7]
]
数据范围:二叉树的节点数满足
输入:
1,2
返回值:
[[1],[2]]
输入:
1,2,3,4,#,#,5
返回值:
[[1],[2,3],[4,5]]
2.代码实现:
import java.util.*;
public class Solution
public ArrayList<ArrayList<Integer>> levelOrder (TreeNode root)
ArrayList<ArrayList<Integer>> res = new ArrayList<>();
if(root == null)
return res;
// 队列保存每一层所有结点
Queue<TreeNode> queue = new LinkedList<>();
// 先放入根节点
queue.offer(root);
while(!queue.isEmpty())
// 收集当前层的所有结点的值
ArrayList<Integer> list = new ArrayList<>();
// ·当前层的节点数量
int count = queue.size();
// 遍历每一层
while(count-- > 0)
// 从对头取出节点
TreeNode node = queue.poll();
// 收集结果
list.add(node.val);
// 左右节点按顺序加到队尾
if(node.left != null)
queue.offer(node.left);
if(node.right != null)
queue.offer(node.right);
res.add(list);
return res;
以上是关于#yyds干货盘点# 面试必刷TOP101:求二叉树的层序遍历的主要内容,如果未能解决你的问题,请参考以下文章
#yyds干货盘点# 面试必刷TOP101:二叉树的中序遍历
#yyds干货盘点# 面试必刷TOP101:判断是不是平衡二叉树