力扣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;
    }
相关推荐
iAkuya3 分钟前
(leetcode)力扣100 59括号生成(回溯||按括号序列的长度递归)
算法·leetcode·职场和发展
共享家95273 分钟前
双指针算法(一)
数据结构·算法·leetcode
十八岁讨厌编程4 分钟前
【算法训练营 · 二刷总结篇】回溯算法、动态规划部分
算法·动态规划
近津薪荼6 分钟前
优选算法——滑动窗口2(数组模拟哈希表)
c++·学习·算法
金枪不摆鳍9 分钟前
算法基础-哈希表
算法·哈希算法
渐暖°10 分钟前
【leetcode算法从入门到精通】9. 回文数
算法·leetcode·职场和发展
星火开发设计10 分钟前
using 关键字:命名空间的使用与注意事项
开发语言·c++·学习·算法·编程·知识
ZPC821011 分钟前
机器人手眼标定
人工智能·python·数码相机·算法·机器人
知我心·11 分钟前
Java实现常见算法
算法
HalvmånEver12 分钟前
Linux:线程创建与终止下(线程六)
linux·运维·算法