力扣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;
    }
相关推荐
hong_zc1 小时前
算法【Java】—— 二叉树的深搜
java·算法
吱吱鼠叔2 小时前
MATLAB计算与建模常见函数:5.曲线拟合
算法·机器学习·matlab
嵌入式AI的盲3 小时前
数组指针和指针数组
数据结构·算法
Indigo_code5 小时前
【数据结构】【顺序表算法】 删除特定值
数据结构·算法
__AtYou__6 小时前
Golang | Leetcode Golang题解之第448题找到所有数组中消失的数字
leetcode·golang·题解
阿史大杯茶6 小时前
Codeforces Round 976 (Div. 2 ABCDE题)视频讲解
数据结构·c++·算法
LluckyYH6 小时前
代码随想录Day 58|拓扑排序、dijkstra算法精讲,题目:软件构建、参加科学大会
算法·深度优先·动态规划·软件构建·图论·dfs
转调7 小时前
每日一练:地下城游戏
开发语言·c++·算法·leetcode
不穿格子衬衫7 小时前
常用排序算法(下)
c语言·开发语言·数据结构·算法·排序算法·八大排序
wdxylb7 小时前
使用C++的OpenSSL 库实现 AES 加密和解密文件
开发语言·c++·算法