【剑指offer】 --- 二叉树的层序遍历

org.apache.commons.lang import org.apache.commons.lang.builder.EqualsBuilder; import org.apache.commons.lang.builder.HashCodeBuilder; 立即下载

题目描述


          从上往下打印出二叉树的每个节点,同层节点从左至右打印。


思路

         ①: 该题为二叉树的层序遍历;需要借助一个队列,队列具有先进先出的特性;

         ②: 在java中LinkedList实现了Deque接口,Deque<E> extends Queue<E>;

         ③: 队列的一些方法,进队(offer),队头元素(peek),出队并返回(poll);

         ④: 我们可以先将root节点入队,当队列不空时,先出队(打印),判断该元素的左节点是否为null,如果左不为null,左入队,判断右,是否为null,如果右不为null,右入队; 

代码实现

 public ArrayList<Integer> PrintFromTopToBottom(TreeNode root) {
        ArrayList<Integer> list = new ArrayList<Integer>();
        Queue<TreeNode> queue = new LinkedList<TreeNode>(); 
        if(root == null){
            return list;
        }else{
            queue.offer(root); 
        }
        while(!queue.isEmpty()){
            //出队
            TreeNode node = queue.poll();
            //打印
            list.add(node.val);
            //左不空左入队
            if(node.left!=null){
                queue.offer(node.left);
            }
            //右不空右入队
            if(node.right!=null){
                queue.offer(node.right);
            }
        } 
        return list;
    }

 

爬取信用中国里面的行政处罚 result字段名为行政处罚文书号、处罚决定日期、处罚内容、处罚金额、违法事实、处罚机关、公司名称,行政处罚次数。file_path=r'E:\Data analyze\python\行政处罚爬虫/'#路径需要按实际修改。writer = pd.ExcelWriter('统计.xlsx')# 写入Excel文件。src_workbook=file_path+r'行政处罚(名单).xls' #表格名称也要更改。# keyword = input("输入爬取的公司全称必须是全称") 阅读详情

相关推荐

ESP32-S3 SPI驱动SD卡与FATFS文件系统实践

SPI(串行外设接口)是嵌入式系统中常用的同步串行通信协议,通过主从架构实现全双工通信。其工作原理基于时钟同步和数据线传输,具有接线简单、占用引脚少的优势。在存储扩展场景中,SPI模式可驱动SD卡实现大容量数据存储,配合FATFS文件系统可提供标准化的文件管理能力。ESP32-S3作为乐鑫推出的高性能Wi-Fi/蓝牙双模芯片,其SPI外设支持高达80MHz时钟频率,结合ESP-IDF提供的sdspi_host驱动,开发者能快速实现SD卡存储方案。该技术广泛应用于物联网设备日志存储、传感器数据采集等场景,本实

weixin_29168393的博客 357

剑指offer【32】:层序遍历打印二叉树

题目: 思路+代码: import queue class Solution: def levelOrder(self, root: TreeNode) -> List[int]: # 思路:使用栈保存每层从左至右的左节点和右节点,一个list保存层序遍历节点的值; # 用list实现 if not root:return [] res, node_list = [],[] node_list..

咕噜咕噜 310

【2025CVPR】基于脉冲神经网络的能效目标检测模型:Multi-scale Spiking Detector(MSD)深度解析

本文提出了一种创新的多尺度脉冲神经网络目标检测器(MSD),通过生物启发的ONNB模块和MSDF框架实现了高效准确的目标检测。该模型采用端到端直接训练策略,在COCO数据集上达到62.0%mAP的精度,同时仅需7.8M参数和6.43mJ能耗,较传统方法提升2.8%精度并降低82.9%能耗。实验验证了其在小目标检测和事件数据处理的优越性,为边缘计算应用提供了新范式。

hasakie的博客 1109

剑指Offer--层序遍历二叉树

题目:层序遍历二叉树,即从上往下打印二叉树,每层从左往右;解析:这道题目并不难,只是比较常用的一个问题,因为树形结构的多种遍历方法,我想以后会有很多使用的机会,所以借此收藏一下。以下的实现方法也是最常用的一种,就是用一个队列来存储每一层的节点,然后输出,完成层序遍历。因为队列的特点是先进先出,所以父节点会比子节点先进队列,也好久先输出父节点import java.util.*; /** public

devY的博客 447

告别理论!用AXI-Stream实战摄像头数据流采集(附Verilog关键代码片段)

本文详细解析了如何通过AXI-Stream接口实现工业级可靠性的摄像头数据流采集系统,重点介绍了Verilog实战代码、AXI-Stream握手机制及数据反压处理方案。通过三级缓冲架构和带宽优化,有效解决了OV5640等摄像头在高速场景下的帧丢失问题,为FPGA图像处理项目提供了实用解决方案。

weixin_42563415的博客 157

ArcGIS-裁剪遥感影像及dem图像

6、选择【工具箱】-【数据管理工具】-【栅格】-【裁剪】。在【输入栅格】里选择要裁剪的dem,在【输出范围】里选择刚创建的裁剪范围。选择一个输出路径,其他参数保存默认。2、起一个名称,要素类型选择【面】。点击【编辑】选择与要裁剪的dem一致的地理坐标系。1、创建需要裁剪区域的面层shp,右击选择【新建】-【shapefile】3、点击编辑器,选择开始编辑。4、选择【裁剪范围】,点击确定。5、画出想要裁剪的范围并保存。

siwenaiyou的博客 1万+

剑指Offer第二十二题:层序遍历二叉树

剑指Offer第二十二题:层序遍历二叉树 层序遍历需要使用一个队列来保存每一层每一个结点,当队列中一个结点出队时,将其左右子结点入队。 import java.util.*; /** public class TreeNode { int val = 0; TreeNode left = null; TreeNode right = null; public TreeNode(int val) { this.val = val; } } */

qq_39534402的博客 211

AutoSAR系列讲解(深入篇)13.6-闪烁一颗LED灯 6

闪烁一颗LED灯:配置SWC和生成代码

雪云飞星的博客 1万+

剑指offer 二叉树的层序遍历

二叉树的层序遍历 利用队列来做 import java.util.ArrayList; import java.util.Queue; import java.util.LinkedList; /** public class TreeNode { int val = 0; TreeNode left = null; TreeNode right = null; ...

零分的博客 217

Android 10.0 SystemUI 屏蔽状态栏消息推送弹出的悬浮通知

在状态栏中,有一些通知类似 消息推送 弹出的 悬浮通知,弹出30秒之后会消失掉 要想屏蔽掉这些通知,首选知道这些通知是怎么产生的 通知类型 NotificationContentInflater.java 详细的介绍各种通知的类型 frameworks/base/packages/SystemUI/src/com/android/systemui/statusbar/notification/row/NotificationContentInflater.java /** * The defau

安卓兼职framework和app工程师的博客 1542

大模型微调部署实战及类GPT工具的高效使用

本文主要介绍了专栏《大模型微调部署实战及类GPT工具的高效使用》的核心内容,希望对使用大语言模型的同学们有所帮助。 文章目录 1. 前言 2. 专栏亮点 3. 你的收获 4. 详细目录

herosunly的博客 22万+

【剑指offer】从上向下打印二叉树

版权声明:本文为博主原创文章。未经博主同意不得转载。 https://blog.youkuaiyun.com/mmc_maodun/article/details/26089165 转载请注明出处...

weixin_30627381的博客 59

电子电器架构刷写方案——General Flash Bootloader

### 文章大体有如下内容: ### 1、简介 ### 2、刷写系统概述 ### 3、Flash Bootloader刷写流程 ### 4、Flash Bootloader架构介绍 ### 5、关于刷写的思考

Soly_kun的博客 2211

剑指 Offer 32 - I.II.III. 从上到下打印二叉树(层序遍历)

剑指 Offer 32 - I. 从上到下打印二叉树 问题描述 从上到下打印出二叉树的每个节点,同一层的节点按照从左到右的顺序打印。 例如: 给定二叉树: [3,9,20,null,null,15,7], 3 / \ 9 20 / \ 15 7 返回: [3,9,20,15,7] 提示: 节点总数 <= 1000 解题思路 很容易想到的思路就是基础的层序遍历。只是一般的层序遍历迭代法是使用List<List<Integ...

张某某。的博客 161

pscad IEEE标准系统搭建说明

pscad IEEE标准系统搭建说明,包含典型的IEEE 9节点、14节点、30节点、39节点和118节点系统。内含标准测试系统的原始数据和潮流结果。

Devexpress16.2.6破解工具

Devexpress16.2.6破解工具Devexpress16.2.6破解工具Devexpress16.2.6破解工具Devexpress16.2.6破解工具

剑指offer—二叉树的层序遍历

题目描述:从上往下打印出二叉树的每个节点,同层节点从左至右打印。 解题思想:解决此问题需要借助一个队列来完成 前置条件:先将root入队列 ①出一个节点 ②访问该节点,将该节点的节点值添加到顺序表中 ③将当前节点的左子树入队列,再将右子树入队列(注意判空) 代码如下: public class Solution { public ArrayList<Integer> PrintFromTopToBottom(TreeNode root) { ArrayList<In

Amanda_wr的博客 272

复分析 阿尔福斯(Ahlfors) 第三版答案 英文

答案分为十章,有部分习题没有答案,全英文复分析阿尔福斯(Ahlfors) 第三版答案

Leetcode剑指Offer刷题 - 第六天

面试题32 - I. 从上到下打印二叉树 解法:层序遍历二叉树 BFS /** * Definition for a binary tree node. * public class TreeNode { * int val; * TreeNode left; * TreeNode right; * TreeNode(int x) { val = x; } * } */ class Solution { public int[] levelOrd

DEGv587的博客 627

IEM模型,地表粗糙度模拟

利用微波反演土壤水分时候,利用IEM模型可以实现对随机地表的模拟

剑指 Offer 32 - 二叉树的层序遍历

题目要求的二叉树的从上至下打印(即按层打印),又称为二叉树的广度优先搜索(BFS)。BFS通常借助队列的先入先出特性来实现。

庄小焱 350

剑指Offer:从上往下打印二叉树(层序遍历java版)

题目描述 从上往下打印出二叉树的每个节点,同层节点从左至右打印。 利用队列FIFO特性 创建一个队列,然后依次添加左、右子节点。从队列中取的时候,就相当于在每一层从左到右的取节点 import java.util.ArrayList; /** public class TreeNode { int val = 0; TreeNode left = null; TreeNod...

Cannon的博客 875

剑指Offer-层序遍历二叉树

题目描述:从上往下打印出二叉树的每个节点,同层节点从左至右打印。 思路:利用队列辅助实现。 public void PrintFromTopToBottom(TreeNode root) { if(root == null) { System.out.println("null"); } Queue<TreeNode> queue = new <TreeNode> LinkedList(); queue.offer(root); while(!queue.

weixin_37990128的博客 154

剑指offer-二叉树层序遍历

1.从上到下打印二叉树的每个节点,同一层的节点按照从左到右的顺序打印 题目链接:力扣 算法流程: 1)特例处理:当树的根节点为空,则直接返回空列表 [ ] ; 2) 初始化:打印结果列表 res = [ ],包含根节点的队列 queue = [root]; 3)BFS循环:当队列queue为空时跳出; a.出队:队首元素出队,记为node; b.打印:将node.val添加至列表tmp尾部; c.添加子节点:若node 的左(右)子节点不为空,...

m0_51608959的博客 533

剑指Offer21 二叉树的层序遍历

1 /************************************************************************* 2 > File Name: 21_PrintTreeTopToBottom.cpp 3 > Author: Juntaran 4 > Mail: JuntaranMail@g...

dingrong3926的博客 125

S型 / 层序遍历二叉树_剑指offer

package offer; import java.util.ArrayList; import java.util.List; import java.util.Queue; import java.util.Stack; import java.util.concurrent.ArrayBlockingQueue; public class Day0324_demo02 { ...

JZWen 1187

【剑指Offer刷题系列】从上到下打印二叉树

通过上述方法,我们可以高效地按照从左到右的顺序返回二叉树每一层的彩灯编号。层序遍历利用队列的数据结构,实现了按层次顺序访问节点的需求,适用于各种形态的二叉树结构。(也称广度优先搜索,BFS),并按照从左到右的顺序返回每一层的节点值。层序遍历是二叉树遍历中常见的一种方式,适用于按层次处理树结构的数据。的二叉树,节点值为该位置装饰彩灯的颜色编号。按照从左到右的层序遍历,依次访问节点。的顺序返回每一层彩灯编号。一棵圣诞树记作根节点为。本题要求对二叉树进行。

weixin_44329069的博客 1016

剑指offer 层序遍历二叉树

从上往下打印出二叉树的每个结点,同一层的结点按照从左到右的顺序打印。 数据范围 树中节点的数量[0,1000][0,1000]。 样例 输入如下图所示二叉树[8, 12, 2, null, null, 6, null, 4, null, null, null] 8 / \ 12 2 / 6 / 4 输出:[8, 12, 2, 6, 4] /** * Definition for a binary tree node. * struct T.

qq_64128135的博客 142

《剑指Offer》Java刷题 NO.60 把二叉树打印成多行(二叉树,队列,BFS层序遍历)

《剑指Offer》Java刷题 NO.60 把二叉树打印成多行(二叉树,队列,BFS层序遍历) 传送门:《剑指Offer刷题总目录》 时间:2020-07-16 题目: 从上到下按层打印二叉树,同一层结点从左至右输出。每一层输出一行。 思路: 前面有道之字形打印的题:NO.59 按之字形顺序打印二叉树(二叉树,BFS,queue&stack) 这道就是完全的BFS了,套用模板利用队列即可。 Java代码: public ArrayList<ArrayList<Integer>

qq_39618369的博客 219

(6/31)剑指 Offer: 32-I&II&III :BFS层序遍历二叉树

回溯算法、BFS算法、二叉树的层序遍历。剑指offer32-I&II&III。

weixin_57612827的博客 251
上一篇: 【剑指offer】 --- 和为S的两个数
下一篇: 【剑指offer】--- 二叉树的深度
Beat_Boxer
博客等级 码龄9年 18粉丝 88原创
评论
成就一亿技术人!
拼手气红包6.0元
还能输入1000个字符
 
 条评论被折叠 查看
添加红包

请填写红包祝福语或标题

个

红包个数最小为10个

元

红包金额最低5元

当前余额3.43元 前往充值 >
需支付:10.00元
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付元
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值