首页 > 其他分享 >力扣---剑指 Offer 32 - I. 从上到下打印二叉树

力扣---剑指 Offer 32 - I. 从上到下打印二叉树

时间:2023-03-22 21:55:21浏览次数:146  
标签:queue Offer int tree list --- 二叉树 null

从上到下打印出二叉树的每个节点,同一层的节点按照从左到右的顺序打印。

例如:
给定二叉树: [3,9,20,null,null,15,7],
    3
   / \
  9  20
    /  \
   15   7

返回:
[3,9,20,15,7]

提示:
    节点总数 <= 1000
来源:力扣(LeetCode)
链接:https://leetcode.cn/problems/cong-shang-dao-xia-da-yin-er-cha-shu-lcof
著作权归领扣网络所有。商业转载请联系官方授权,非商业转载请注明出处。


 

二叉树最基础的广度优先搜索。

利用队列先进先出的特点。

class Solution {
    public int[] levelOrder(TreeNode root) {
        if (root == null) {
            return new int[0];
        }
        List<Integer> list = new ArrayList<>();
        Queue<TreeNode> queue = new LinkedList<>();
        queue.add(root);
        while (!queue.isEmpty()) {
            TreeNode tree = queue.poll();
            list.add(tree.val);
            if (tree.left != null) {
                queue.add(tree.left);
            }
            if (tree.right != null) {
                queue.add(tree.right);
            }
        }
        int[] res = new int[list.size()];
        for (int i = 0; i < list.size(); i ++) {
            res[i] = list.get(i);
        }
        return res;
    }
}

 

标签:queue,Offer,int,tree,list,---,二叉树,null
From: https://www.cnblogs.com/allWu/p/17245610.html

相关文章

  • esp-idf 5.0 mqtt 华为云连接示例
    1.订阅和发布topic设备消息相关Topic$oc/devices/{device_id}/sys/messages/up设备消息上报$oc/devices/{device_id}/sys/messages/down平台下发消息给设备......
  • 8086汇编语言学习1-loop循环实现冒泡排序
    关键点:  1.loop指令的原理、断点位置  2.条件转移指令JNLE(小于或等于)和JG(大于)、与CMP(比较)一起使用DATASEGMENTAdw1,3,4,2,5DATAENDSCODESEGMENT AS......
  • 2023-03-23_并查集
    并查集两个点之间在树或图中是否连通的问题。1什么是并查集?连接问题网络中节点间的连接状态数学中的集合类实现连接问题与路径问题:解决路径问题便一定可以解......
  • 3.22 - 快手日常实习一面
     一、八股1.HTTPS和HTTP2.判断相等的方法、区别一共三种:==、===和Object.is() ==:双方类型不同时会强制转换。 强制转换规则:两个基础类型进行比较时,都转换成数字类......
  • 2023-03-22 顺序表基本操作
    #include<stdio.h>#include<stdlib.h>#include<stdbool.h>#defineinitsize10typedefstruct{int*data;intlength;intmaxsize;}SqList;......
  • 手把手教你使用LabVIEW实现Mask R-CNN图像实例分割(含源码)
    (文章目录)前言前面给大家介绍了使用LabVIEW工具包实现图像分类,目标检测,今天我们来看一下如何使用LabVIEW实现MaskR-CNN图像实例分割。一、什么是图像实例分割?图像实......
  • 《渗透测试》WEB攻防-ASP安全&MDB下载植入&IIS短文件名&写权限&解析 2022 Day18
    1  ➢ ASP-数据库-MDB默认下载➢ ASP-数据库-ASP后门植入连接➢ ASP-中间件-IIS短文件名探针-安全漏洞➢ ASP-中间件-IIS文件上传解析-安全漏洞➢ ASP-中......
  • 高精度算法-高精度加法
    为什么要用高精度因为有的题目的数据很大,超出longlong的范围,所以我们需要用高精度来计算:首先是高精度加法:高精度加法就是仿照我们竖式加法进行操作,逐位相加,注意进位!!!题......
  • 前后端异步交互-Ajax
    Ajax1、Ajax介绍1,Ajax概述Ajax:全称AsynchronousJavaScriptAndXML,异步的JavaScript和XML。其作用有如下2点:与服务器进行数据交换:通过Ajax可以给服务器发送请求,并......
  • 算法总结--动态规划
    声明(叠甲):鄙人水平有限,本文为作者的学习总结,仅供参考。1.动态规划介绍动态规划,英文:DynamicProgramming,简称DP,如果某一问题有很多重叠子问题,使用动态规划是最有效的......