102.二叉树的层序遍历

题目来源

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.offer(root);//把节点加入队列尾部
        while(!queue.isEmpty()){
            int size = queue.size();//记录"当前层"有多少节点
            List<Integer> level = new ArrayList<>();
            for(int i=0;i<size;i++){
                TreeNode node = queue.poll();//取出队首元素,并删除。
                level.add(node.val);
                if(node.left != null){
                    queue.offer(node.left);
                }
                if(node.right != null){
                    queue.offer(node.right);
                }
            }
            res.add(level);
        }
        return res;
    }
}
相关推荐
?abc!3 小时前
(数组)581. 最短无序连续子数组
数据结构·算法·leetcode
爱读书的小胖7 小时前
LeetCode 55 跳跃游戏 C 语言解题分析
c语言·数据结构·算法·leetcode·1024程序员节
舰长1157 小时前
将百万数据插入到 Redis,有哪些实现方案?
数据结构·redis·开源
若亦_9 小时前
数据结构>>优先级队列(堆)
java·数据结构
bksczm9 小时前
Redis数据结构之hash
数据结构·redis·哈希算法·1024程序员节
星夜离尘5612 小时前
MATLAB 因果采样保持:用历史匹配和数据年龄防止未来信息泄漏
数据结构·算法·matlab
思麟呀12 小时前
BTree的原理与 C++ 完整实现
c语言·数据结构·c++·算法·1024程序员节
黄俊懿13 小时前
【架构师从入门到进阶】第七章:缓存和存储的优化思路——第一节:缓存概述
数据结构·数据库·分布式·缓存·架构·系统架构·1024程序员节
晒太羊的猫14 小时前
hot100 堆
数据结构
啵啵啵鱼14 小时前
用 Claude Code 重构遗留系统:从评估到落地的完整实践
数据结构·1024程序员节