力扣102-- 二叉树的层序遍历(BFS)

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

这就是广度优先搜索BFS的基本模板

java 复制代码
 public List<List<Integer>> levelOrder(TreeNode root) {
        List<List<Integer>> resList = new ArrayList<>();
        if (root == null){
            return resList;
        }
        Queue<TreeNode> queue = new LinkedList<>();


        queue.offer(root);
        while (!queue.isEmpty()){
            ArrayList<Integer> elList = new ArrayList<>();
            int size = queue.size();


            while (size>0){
                TreeNode node = queue.poll();
                if (node != null) {
                    elList.add(node.val);
                }
                if (node.left != null){
                    queue.offer(node.left);
                }
                if (node.right != null){
                    queue.offer(node.right);
                }
                size--;
            }
            resList.add(elList);


        }
        return resList;
    }
相关推荐
雾岛—听风28 分钟前
P1012 [NOIP 1998 提高组] 拼数
算法
papership1 小时前
【入门级-算法-5、数值处理算法:高精度的乘法】
数据结构·算法
earthzhang20211 小时前
【1039】判断数正负
开发语言·数据结构·c++·算法·青少年编程
谈笑也风生1 小时前
只出现一次的数字 II(一)
数据结构·算法·leetcode
蕓晨1 小时前
auto 自动类型推导以及注意事项
开发语言·c++·算法
mjhcsp2 小时前
C++ 递推与递归:两种算法思想的深度解析与实战
开发语言·c++·算法
_OP_CHEN2 小时前
算法基础篇:(三)基础算法之枚举:暴力美学的艺术,从穷举到高效优化
c++·算法·枚举·算法竞赛·acm竞赛·二进制枚举·普通枚举
m0_748248022 小时前
《详解 C++ Date 类的设计与实现:从运算符重载到功能测试》
java·开发语言·c++·算法
天选之女wow2 小时前
【代码随想录算法训练营——Day61】图论——97.小明逛公园、127.骑士的攻击
算法·图论
aloha_7892 小时前
测试开发工程师面经准备(sxf)
java·python·leetcode·压力测试