32_2_剑指offer_从上到下打印二叉树

本文介绍了一种实现二叉树层序遍历的方法,通过使用队列数据结构,可以有效地按层次顺序访问所有节点。该算法首先将根节点放入队列中,然后反复取出队首节点并访问其值,再将其左右子节点依次加入队列,直到队列为空,完成遍历。

摘要生成于 C知道 ,由 DeepSeek-R1 满血版支持, 前往体验 >

在这里插入图片描述

思路:就是层序遍历嘛

public class Solution {
    public List<List<Integer>> levelOrder(TreeNode root) {
        // 就是层序遍历嘛
        if (root == null) {
            LinkedList<List<Integer>> lists = new LinkedList<>();
            return lists;
        }
        Queue<TreeNode> queue = new LinkedList<>();
        queue.add(root);
        LinkedList<List<Integer>> res = new LinkedList<>();
        while (!queue.isEmpty()) {
            int count = queue.size();
            LinkedList<Integer> integers = new LinkedList<>();
            for (int i = 0; i < count; i++) {
                TreeNode tmp = queue.remove();
                integers.add(tmp.val);
                if (tmp.left != null) queue.add(tmp.left);
                if (tmp.right != null) queue.add(tmp.right);
            }
            res.add(integers);
        }
        return res;
    }
}