题解 | #求二叉树的层序遍历#

求二叉树的层序遍历

http://www.nowcoder.com/practice/04a5560e43e24e9db4595865dc9c63a3

import java.util.*;

public class Solution { public ArrayList<ArrayList> levelOrder (TreeNode root) { ArrayList<ArrayList> res = new ArrayList<>();
if(root == null) { return res; }
// 队列保存每一层所有结点 Queue queue = new LinkedList<>(); // 先放入根节点 queue.offer(root); while(!queue.isEmpty()) { // 收集当前层的所有结点的值 ArrayList 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; } }

我居南半坡 文章被收录于专栏

多刷题,积蓄力量,欢迎讨论

全部评论

相关推荐

面试了几家,全程问项目,八股一点都不问,可惜准备了这么久
独角仙梦境:现在感觉问八股像是中场休息一样的,问几个八股放松一下再上强度
点赞 评论 收藏
分享
每晚夜里独自颤抖:这个在牛客不是老熟人了吗
点赞 评论 收藏
分享
点赞 评论 收藏
分享
评论
点赞
收藏
分享

创作者周榜

更多
牛客网
牛客网在线编程
牛客网题解
牛客企业服务