面试算法-66-二叉树的层序遍历

题目

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

示例 1:

输入:root = [3,9,20,null,null,15,7]

输出:[[3],[9,20],[15,7]]

java 复制代码
class Solution {
    public List<List<Integer>> levelOrder(TreeNode root) {
        List<List<Integer>> result = new ArrayList<>();
        if (root == null) {
            return result;
        }

        LinkedList<TreeNode> queue = new LinkedList<>();
        LinkedList<TreeNode> queue2 = new LinkedList<>();
        queue.offer(root);
        List<Integer> res = new ArrayList<>();
        while (!queue.isEmpty()) {
            TreeNode poll = queue.poll();
            res.add(poll.val);
            if (poll.left != null) {
                queue2.offer(poll.left);
            }
            if (poll.right != null) {
                queue2.offer(poll.right);
            }
            if (queue.isEmpty()) {
                result.add(res);
                res = new ArrayList<>();
                queue = queue2;
                queue2 = new LinkedList<>();
            }
        }
        return result;
    }
}
相关推荐
max50060022 分钟前
深度学习的视觉惯性里程计(VIO)算法优化实践
人工智能·深度学习·算法
岁忧23 分钟前
(nice!!!)(LeetCode 每日一题) 3363. 最多可收集的水果数目 (深度优先搜索dfs)
java·c++·算法·leetcode·go·深度优先
shenghaide_jiahu2 小时前
数学建模——粒子群算法
算法·数学建模
无规则ai2 小时前
动手学深度学习(pytorch版):第一章节——引言
人工智能·pytorch·深度学习·算法·机器学习
小厂永远得不到的男人3 小时前
java 面试八股这一篇就够之java集合篇
面试·程序员
牛客企业服务3 小时前
AI面试系统助手深度评测:6大主流工具对比分析
数据库·人工智能·python·面试·职场和发展·数据挖掘·求职招聘
WeiJingYu.3 小时前
机器学习——随机森林
算法·随机森林·机器学习
丶小鱼丶4 小时前
二叉树算法之【中序遍历】
java·算法
快去睡觉~6 小时前
力扣238:除自身之外数组的乘积
数据结构·算法·leetcode
小马爱打代码6 小时前
算法 - 贪心算法
算法·贪心算法