java刷题--102二叉树的层序遍历

Posted Anrys

tags:

篇首语:本文由小常识网(cha138.com)小编为大家整理,主要介绍了java刷题--102二叉树的层序遍历相关的知识,希望对你有一定的参考价值。

java刷题--102二叉树的层序遍历

题目

在这里插入图片描述

代码

class Solution {
    public List<List<Integer>> levelOrder(TreeNode root) {
        List<List<Integer>> res = new ArrayList<List<Integer>>();
        LinkedList<TreeNode> queue = new LinkedList<TreeNode>();
        if (root == null) return res;
        queue.add(root); //从上到下 先加入根节点 
        while (!queue.isEmpty()) {
            //每层新建一个level
            List<Integer> level = new ArrayList<Integer>();
            int size = queue.size();
            for (int i = 0; i < size; i++) {
                TreeNode node = queue.removeFirst();
                level.add(node.val);
                if (node.left != null) queue.add(node.left);
                if (node.right != null) queue.add(node.right);
            }res.add(level);
        }return res;
    }
}

结果

在这里插入图片描述

以上是关于java刷题--102二叉树的层序遍历的主要内容,如果未能解决你的问题,请参考以下文章

刷题-力扣-102. 二叉树的层序遍历

[JavaScript 刷题] 搜索 - 二叉树的层序遍历, leetcode 102

Leetcode刷题100天—102. 二叉树的层序遍历(二叉树)—day09

Leetcode刷题Python102. 二叉树的层序遍历

LeetCode Java刷题笔记—103. 二叉树的锯齿形层序遍历

LeetCode 102. 二叉树的层序遍历 Java