【hot100-java】【二叉树的层序遍历】

二叉树

BFS

队列实现

java 复制代码
/**
 * 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) {
        Queue<TreeNode> queue=new LinkedList<>();
        List<List<Integer>>ret=new ArrayList<>();
        if(root!=null) queue.add(root);
        while(!queue.isEmpty()){
            List<Integer>tmp=new ArrayList<>();
            for(int i=queue.size();i>0;i--){
                TreeNode node=queue.poll();
                tmp.add(node.val);
                if(node.left!=null) queue.add(node.left);
                if(node.right!=null) queue.add(node.right);
            }
            ret.add(tmp);
        }
        return ret;
        
        
    }
}
相关推荐
蹦蹦跳跳真可爱5897 分钟前
Python----OpenCV(图像分割——彩色图像分割,GrabCut算法分割图像)
开发语言·图像处理·人工智能·python·opencv·计算机视觉
you秀8 分钟前
K8S中的dns要如何指定??给pod中增加hosts映射,来规避dns冲突问题
java·容器·kubernetes
越城22 分钟前
C++类与对象(上)
开发语言·c++
✿ ༺ ོIT技术༻30 分钟前
剑指offer第2版:链表系列
数据结构·算法·链表
mit6.82433 分钟前
[Nagios Core] struct监控对象 | 配置.cfg加载为内存模型
c语言·开发语言
代码老y42 分钟前
穿透、误伤与回环——Redis 缓存防御体系的负向路径与治理艺术
数据库·redis·缓存
Code季风44 分钟前
深度优化 spring 性能:从缓存、延迟加载到并发控制的实战指南
java·spring boot·后端·spring·缓存·性能优化
Themberfue1 小时前
Redis ①⑥-缓存
数据库·redis·adb·缓存
Kyln.Wu1 小时前
【python实用小脚本-139】Python 在线图片批量下载器:requests+PIL 一键保存网络图像
数据库·python·php
序属秋秋秋1 小时前
《C++初阶之STL》【泛型编程 + STL简介】
开发语言·c++·笔记·学习