(leetcode)力扣100 41二叉树的层序遍历(bfs)

题目

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

数据范围

树中节点数目在范围 [0, 2000] 内

-1000 <= Node.val <= 1000

测试用例

示例1

java 复制代码
输入:root = [3,9,20,null,null,15,7]
输出:[[3],[9,20],[15,7]]

示例2

java 复制代码
输入:root = [1]
输出:[[1]]

示例3

java 复制代码
输入:root = []
输出:[]

题解

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) {
        List<List<Integer>> res=new ArrayList<>();
        if(root==null){
            return res;
        }

        
        Queue<TreeNode> queue=new LinkedList<>();
        queue.add(root);
        while(!queue.isEmpty()){
            int num=queue.size();
            List<Integer> list=new ArrayList<>();
            while(num--!=0){
                TreeNode temp=queue.poll();
                list.add(temp.val);
                if(temp.left!=null)
                    queue.add(temp.left);

                if(temp.right!=null)
                    queue.add(temp.right);
                
            }

            res.add(list);
        }
        return res;
    }
}

思路

太简单了代码备注不想给,思路也不想写 = =

相关推荐
_不会dp不改名_22 分钟前
leetcode_3010 将数组分成最小总代价的子数组 I
算法·leetcode·职场和发展
陈葛杰1 小时前
PE系统安装教程(傻瓜版)
windows
John_ToDebug2 小时前
浏览器内核崩溃深度分析:从 MiniDump 堆栈到 BindOnce UAF 机制(未完待续...)
c++·chrome·windows
一位赵4 小时前
小练2 选择题
linux·运维·windows
学***54234 小时前
12款分区恢复软件: 恢复已删除/丢失的分区
windows
Tisfy5 小时前
LeetCode 3637.三段式数组 I:一次遍历(三种实现)
算法·leetcode·题解·模拟·数组·遍历·moines
爱内卷的学霸一枚6 小时前
现代微服务架构实践:从设计到部署的深度解析
windows·微服务·架构
期末考复习中,蓝桥杯都没时间学了6 小时前
力扣刷题15
算法·leetcode·职场和发展
im_AMBER7 小时前
Leetcode 111 两数相加
javascript·笔记·学习·算法·leetcode
TracyCoder1237 小时前
LeetCode Hot100(21/100)——234. 回文链表
算法·leetcode·链表