首页 > 编程语言 >#yyds干货盘点# LeetCode程序员面试金典:二叉树的层序遍历

#yyds干货盘点# LeetCode程序员面试金典:二叉树的层序遍历

时间:2023-05-13 23:32:00浏览次数:36  
标签:yyds 示例 金典 List queue 二叉树 new null root

题目:

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

 

示例 1:

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

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

示例 2:

输入:root = [1]

输出:[[1]]

示例 3:

输入:root = []

输出:[]

代码实现:

class Solution {
    public List<List<Integer>> levelOrder(TreeNode root) {
        List<List<Integer>> ret = new ArrayList<List<Integer>>();
        if (root == null) {
            return ret;
        }

        Queue<TreeNode> queue = new LinkedList<TreeNode>();
        queue.offer(root);
        while (!queue.isEmpty()) {
            List<Integer> level = new ArrayList<Integer>();
            int currentLevelSize = queue.size();
            for (int i = 1; i <= currentLevelSize; ++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);
                }
            }
            ret.add(level);
        }
        
        return ret;
    }
}

标签:yyds,示例,金典,List,queue,二叉树,new,null,root
From: https://blog.51cto.com/u_13321676/6274122

相关文章

  • w9-2 求二叉树中节点间的宽度
    如下图所示的一棵二叉树的深度、宽度及结点间距离分别为:深度:4宽度:4(同一层最多结点个数)结点间距离:⑧→⑥为8(3×2+2=8)⑥→⑦为3(1×2+1=3)注:结点间距离的定义:由结点向根方向(上行方向)时的边数×2,与由根向叶结点方向(下行方向)时的边数之和。输入格式输入文件第一行为一......
  • 第五章 5.3.3 构造二叉树
    不同二叉树的遍历序列由不同遍历序列的组合推出原二叉树的结构前序,后序,层序的组合不能推出原结构,因为无法区分左右子树线索二叉树(可称为线索链表)二叉树又可称为二叉链表.中序线索二叉树的存储先序线索二叉树后序线索二叉树三种线索二叉树根据遍历顺序不同,......
  • #yyds干货盘点# LeetCode程序员面试金典:对称二叉树
    1.简述:给你一个二叉树的根节点root,检查它是否轴对称。 示例1:输入:root=[1,2,2,3,4,4,3]输出:true示例2:输入:root=[1,2,2,null,3,null,3]输出:false2.代码实现:classSolution{publicbooleanisSymmetric(TreeNoderoot){returncheck(root,root);}......
  • 力扣124. 二叉树中的最大路径和
    二叉树中的 路径 被定义为一条节点序列,序列中每对相邻节点之间都存在一条边。同一个节点在一条路径序列中 至多出现一次 。该路径 至少包含一个 节点,且不一定经过根节点。路径和 是路径中各节点值的总和。给你一个二叉树的根节点 root ,返回其 最大路径和 。 示例......
  • 2023-05-10:给你一棵以 root 为根的二叉树和一个 head 为第一个节点的链表 如果在二叉
    2023-05-10:给你一棵以root为根的二叉树和一个head为第一个节点的链表如果在二叉树中,存在一条一直向下的路径且每个点的数值恰好一一对应以head为首的链表中每个节点的值,那么请你返回True否则返回False。一直向下的路径的意思是:从树中某个节点开始,一直连续向下的路径......
  • 学校的数据结构实验_二叉树c语言实现
    二叉树的实现包括二叉树的构建,和二叉树的前中后序便利,二叉树的层序非递归遍历,求二叉树的总结点,求二叉树的最大深度和求二叉树的最大宽度,因为实验主要是对二叉树的各个属性数据测量,所以这里手动链接了一颗二叉树.随后用调用函数接口传参二叉树的根节点测量二叉树的属性.递......
  • 968. 监控二叉树
    给定一个二叉树,我们在树的节点上安装摄像头。节点上的每个摄影头都可以监视其父对象、自身及其直接子对象。计算监控树的所有节点所需的最小摄像头数量。示例1:输入:[0,0,null,0,0]输出:1解释:如图所示,一台摄像头足以监控所有节点。我的解法classSolution{private:......
  • 线索化二叉树
    线索化二叉树1.问题分析当对上面的二叉树进行中序遍历时,序列应为:[8,3,10,1,14,6];但存在一个问题也即,编号为6,8,10,14的几个节点的左右指针并没有完全利用上;如果希望利用到各个节点的左右指针,让各个节点可以指向自己的前后节点,即使用线索化二叉树。2.线索化二叉树基本介绍......
  • 二叉树
    相关知识点:结点拥有的子树数称为结点的度树的度是树内各结点度的最大值树中结点的最大层数称为树的高度或深度 根结点:无双亲,唯一叶结点:无孩子,可以多个中间结点:一个双亲多个孩子 二叉树的特点:每个结点最多有两棵子树左子树和右子树是由顺序的特殊二叉树:斜树,每......
  • 顺序存储二叉树
    顺序存储二叉树1.介绍从数据存储来看,数组的存储方式和树的存储方式是可以互相转换的,即数组可以转换成树,树也可以转换成数组;遍历数组arr时,仍然可以以前序遍历、中序遍历、后序遍历的方式得到二叉树。2.顺序存储二叉树的特点顺序存储二叉树通常只考虑完全二叉树;下标为......