剑指Offer之面试题23:从上往下打印二叉树

C++版 - 剑指offer 面试题23:从上往下打印二叉树(二叉树的层次遍历BFS) 题解 剑指offer  面试题23:从上往下打印二叉树 参与人数:4853  时间限制:1秒  空间限制:32768K 题目描述 从上往下打印出二叉树的每个节点,同层节点从左至右打印。 分析: 此题即为二叉树的BFS,使用队列可以解决。 AC代码: #include #include #include using namespace std; struct 阅读详情

所有代码均通过G++编译器测试,仅为练手纪录。


//面试题23:从上往下打印二叉树

//题目:从上往下打印出二叉树的每个结点,同一层的结点按照从左到右的顺序打印。


//面试题23:从上往下打印二叉树
//题目:从上往下打印出二叉树的每个结点,同一层的结点按照从左到右的顺序打印。

void TreePrintBreadth(BinTreeNode *pRoot)
{
    if(NULL == pRoot)
    {
        return;
    }
    
    queue<BinTreeNode *> queNode;
    queNode.push(pRoot);
    
    while (!queNode.empty())
    {
        BinTreeNode *pNode = queNode.front();
        queNode.pop();
        
        LogInfo("BinTreeNode:%d",pNode->m_nValue);
        
        if(NULL != pNode->m_pLeft)
        {
            queNode.push(pNode->m_pLeft);
        }
        
        if(NULL != pNode->m_pRight)
        {
            queNode.push(pNode->m_pRight);
        }
    }
}

ZhaiPillary

2016-12-25



给jetson nano 安装AX200网卡驱动 几经波折,因为在网上看到的基本都是amd版本而非arm版,然后最终选定V5.5是因为更新的几个版本的arm版本是false的(在https://kernel.ubuntu.com/~kernel-ppa/mainline/处选择版本时,得看在arm64上是false还是build succeeded,之前没经验呀刚刚才顿悟的) 1,参考文章https://blog.youkuaiyun.com/MIRANA0/article/details/106696334 学到了得下载如下四个: wget https://k 阅读详情

相关推荐

FFmpeg实战:SEI自定义数据在RTMP推流中的高效嵌入

本文深入探讨了如何利用FFmpeg在RTMP推流中高效嵌入SEI自定义数据。通过将SEI比作与视频帧同步的“小纸条”,文章详细解析了H.264码流中SEI的结构与位置,并提供了命令行与API编程两种实战方法,帮助开发者实现直播答题、AI元数据回传等场景下的帧级精准数据同步。

weixin_29304021的博客 325

剑指offer:面试题23——从上往下打印二叉树

剑指offer:面试题23——从上往下打印二叉树 题目:从上往下打印出二叉树的每个节点,同层节点从左至右打印。 思路:用一个队列每次存储当前的根节点,然后将它弹出,将它的左右孩子入队,直到队列为空 需要注意的点:数组和队列push_back,存入队尾,pop_front()从队列头取出,前面要求有错误判断,且错误判断的位置要放在数组声明的后面,否则会报错 /* struct TreeNode { ...

MereX的博客 276

使用JAVA代码转word文档之动态生成数据填充(图文详解)

今天跟公司对接了业务,根据业务需求,乙方需求文档是word格式的,而我们的数据是动态数据,每生成一份数据,就要以word的形式给乙方一份邮件!这就给了我们的工作一定的难度和挑战! 通过阅读资料,团队的帮助以及自我测试,终于实现了这个功能!因为在搜索资料方面,发现各位博主讲的比较模糊,自己碰到了很多bug,浪费了很多宝贵的时间,所以今天写了这篇文章,希望对自己以后或者他人有所帮助! 操作第一步:先准...

huaiyan 7719

【一刷《剑指Offer》】面试题 23:从上往下打印二叉树

接下来每一次从队列的头部取出一个结点,遍历这个结点之后把从它能到达的结点(对树而言是子结点)都依次放入队列。核心思路:当前层从左向右遍历,那么下层就从 left 到 right 入栈,当前层如果从右向左遍历,那么下层就从 right 到 left 入栈。之字形打印的本质也是对树形结构的层序遍历,不过在遍历的过程中,需要更改遍历顺序,可以采用 stack 和 queue 的方式来进行处理。树是图的一种特殊退化形式,从上到下按层遍历二叉树,从本质上来说是广度优先遍历二叉树。本质是层序遍历二叉树,借助。

Elena's Blog 706

Yersinia:layer 2攻击框架!全参数详细教程!Kali Linux教程!

Yersinia是一个专为执行二层网络攻击设计的框架,利用多种网络协议的弱点进行渗透测试和网络分析。它支持针对生成树协议(STP)、思科发现协议(CDP)、动态中继协议(DTP)、动态主机配置协议(DHCP)、热备用路由器协议(HSRP)、802.1q、802.1x、交换机间链路协议(ISL)和VLAN中继协议(VTP)的攻击。这些攻击可能导致网络中的拒绝服务(DoS)或为更复杂的攻击创造条件。Yersinia对渗透测试人员和网络管理员非常有用,但使用时需谨慎,以免造成网络不稳定。

qq_24305079的博客 2281

Pentaho安装与配置

Pentaho安装与配置前言一、下载二、配置1.JDK环境2.添加mysql-jdbc驱动三、启动 前言 Pentaho Data Integration (PDI):前身是Kettle。Pentaho提供了提取、转换和加载(ETL)功能,该功能使用统一且与最终用户和物联网技术相关且可访问的格式简化了捕获、清理和存储数据的过程。 功能:提供报表的制作、分析、仪表板、数据集成、数据采集、商业智能平台等强大功能。 一、下载 官网地址:http://www.pentaho.com/ 不过已经访问不到了

小太阳DENGJIE的博客 3604

《剑指Offer》面试题23:从上往下打印二叉树

《剑指Offer》面试题23:从上往下打印二叉树题目描述    从上往下打印出二叉树的每个结点,同一层的结点按照从左到右的顺序打印。解题思路    按照层次遍历的方法,使用队列辅助。    1.将根结点加入队列。    2.循环出队,打印当前元素,若该结点有左子树,则将其加入队列,若有右子树,将其加入队列。    3.直到队列为空,表明已经打印完所有结点。测试用例    功能测试(输入的二叉树既有...

南方有乔木的博客 222

网红商品数据抓取:基于Python的高效爬虫实战

本篇博客介绍了从爬取到存储、分析和可视化网红商品数据的完整流程。通过Python的强大生态,我们能够轻松完成复杂的数据抓取任务。在实际应用中,还可以将此爬虫与机器学习模型结合,进一步挖掘数据价值。

2201_76125261的博客 1476

剑指offer面试题23:从上往下打印二叉树 Java实现

题目:从上往下打印二叉树 题目:从上往下打印出二叉树的每个节点,同一层的节点按照从左到右的书序打印。例如:下面二叉树打印出 1,2,3,4,5,6.                    1                     / \                   2   3                   / \   \

做一名努力的通信程序员 479

总结目前开源的视频生成/视频编辑大模型

随着Sora的爆火,视频生成和视频编辑受到了越来越多的关注。这篇博客总结一下目前开源的视频生成和视频编辑的大模型,并分析他们各自的优缺点,以及在自己进行科研任务或者工作中应该如何选用对应的开源模型,希望能给从事这一领域研究和使用的小伙伴们帮助。

沉迷单车的追风少年 3543

YOLOv11改进 | 模型知识蒸馏篇 | 利用模型蒸馏改进YOLOv11进行无损涨点 | CWDLoss(在线蒸馏 + 离线蒸馏)

这篇文章给大家带来最新改进的是模型的蒸馏利用教师模型指导学生模型从而进行模型的涨点,本文的内容不仅可以用于论文中,在目前的绝大多数的工作中模型蒸馏是一项非常重要的技术,所以大家可以仔细学习一下本文的内容,本文从YOLOv11的项目文件为例,进行详细的修改教程,文章内包括完整的修改教程,针对小白我出了视频修改教程,如果你还不会我提供了修改后的文件大家直接运行即可,所以说不用担心不会适用!模型蒸馏真正的无损涨点,蒸馏你只看这一篇文章就足够了!欢迎大家订阅我的专栏一起学习YOLO!

Snu77的博客 3304

【剑指 Offer 学习】【面试题 23: 从上往下打印二叉树】【思路】

题目: 从上往下打印出二叉树的每个节点,同层节点从左至右打印。   思路: 创建一个动态数组用于存储节点值、方法的返回 参数为空时返回空数组 创建一个队列用于存储未遍历的数组,并将根结点入队 记录当前处理的结点并控制台输出 将根结点存入要返回的数组 将当前结点的左右节点依次保存到队列的结尾(FIFO,先入先出)   代码: package 从上往下打印二叉树23; imp...

handsome_zan的博客 187

【数据集】3D-GloBFP:全球首个三维建筑轮廓数据集

【数据集】3D-GloBFP:全球首个三维建筑轮廓数据集

WW、forever的博客 1681

剑指Offer:面试题23——从上往下打印二叉树(java实现)

问题描述: 从上往下打印出二叉树的每个节点,同层节点从左至右打印。 思路: 按照层次遍历的方法,使用队列辅助。 1.将根结点加入队列。 2.循环出队,打印当前元素,若该结点有左子树,则将其加入队列,若有右子树,将其加入队列。 3.直到队列为空,表明已经打印完所有结点。 代码:import java.util.ArrayList; import java.util.Queue

一个人漫步走 2422

lwip-2.0.3

lwip是瑞典计算机科学院(SICS)的Adam Dunkels 开发的一个小型开源的TCP/IP协议栈。实现的重点是在保持TCP协议主要功能的基础上减少对RAM 的占用。

Outlook Express 6 (OE6) for Win7/Win8/Win10

英文版 Outlook Express6.0, 兼容Win7/Win10/WinXP,解压就可用。

【剑指Offer学习】【面试题23:从上往下打印二叉树】

题目:从上往下打印出二叉树的每个结点,同一层的结点按照从左向右的顺序打印。 解题思路:这道题实质是考查树的遍历算法。

https://github.com/Wang-Jun-Chao 4455

温度PID控制PLC程序

温度PID稳定控制程序,适用于欧姆龙PLC,对其他PLC也具有很大参考价值

《剑指offer》面试题23:从上往下打印二叉树(java实现)

题目:从上往下打印出二叉树的每个节点,同层节点从左至右打印。 ——来源于《剑指offer》 思路:借助队列这种数据结构先进先出的特性,先将根结点的左右孩子压入队列,然后依次将子树的左右孩子压入队列。 代码实现: import java.util.*; /** public class TreeNode { int val = 0; TreeNode left = null;...

芊雨的博客 197

汉书HE8,好用的汇编代码编写工具

汉书HE8,好用的汇编代码编写工具早期编写汇编代码所用功能强大

剑指Offer:面试题23 从上往下打印二叉树

/* 从上往下打印二叉树: 从上往下打印出二叉树的每个结点,同一层的结点按照从左到右的顺序打印。例如输入图4.5中的二叉树,则依次打印 出8、6、10、5、7、9、11                                                     8 6 10 5 7 9 11 输入: 输入可能包含多个测试样例,输入以EOF结束。 对于每个测试

qingyuanluofeng的专栏 798

剑指offer——面试题23:从上往下打印二叉树

题目描述:从上往下打印出二叉树的每个节点,同层节点从左至右打印。     代码: /* struct TreeNode { int val; struct TreeNode *left; struct TreeNode *right; TreeNode(int x) : val(x), left(NULL), right(NULL) { } };*/ class Solutio

denghe优快云的博客 444

[剑指offer]面试题23:从上往下打印二叉树

面试题23:从上往下打印二叉树 题目:从上往下打印出二叉树的每个结点,同一层的结点按照从左到右的顺序打印。例如输入图4.5中的二叉树,则依次打印出8、6、10、5、7、9、11。 二叉树结点的定义如下: struct BinaryTreeNode { int value; BinaryTreeNode *lchild; BinaryTreeNode *rchild; }; 思路: 每一次打印一个结点的时候,如果该结点有子结点,则把该结点的子结点放到一个队列的末尾。接下来到队列的头部取出最早进入队列的

m0_51955470的博客 165

《剑指offer》(面试题23):从上往下打印二叉树

前言: 当一眼看不出问题中隐藏的规律时,我们可以试着用一两个具体的例子模拟操作的过程,说不定这样那就能通过具体的例子找到抽象的规律。 题目描述 从上往下打印出二叉树的每个节点,同层节点从左至右打印。 解题思路 再熟悉不过的层序遍历,BFS即可实现。用队列来进行层序遍历,同时用一个vector容器来存储每一层的值。 举例如下: python 代码

Charles的博客 294

剑指offer之面试题23:从上往下打印二叉树

题目描述从上往下打印出二叉树的每个节点,同层节点从左至右打印。输入二叉树 8 / \ 6 10 / \ / \ 5 7 9 11 输出 8,6,10,5,7,9,11思路:二叉树的层次遍历 初始化队列,结点8入队,结点8出队,8的孩子结点不为空,把8的孩子结点6,10放进队列中。6出队,

sushauai的博客 472

【剑指offer】面试题23:从上往下打印二叉树

题目:从上往下打印二叉树的每个结点,同一层的结点按照从左往右的顺序打印。思路:我们可以用一个队列来保存我们当前结点的左右子树,然后进行出队分别访问左右子树结点,进行打印。#include<iostream> #include<deque> using namespace std; struct BinaryTreeNode { int m_nValue; BinaryTreeNode

Steve_Abelieve 407

剑指offer面试题23:从上往下打印二叉树

题目:从上往下打印出二叉树的每个结点,同一层的结点按照从左到右的顺序打印。广度优先遍历。#include <deque> #include <iostream>using namespace std;struct BinaryTreeNode { int m_nValue; BinaryTreeNode *m_pLeft; BinaryTreeNode *m_pRight; }; Bin

244

剑指Offer面试题23(Java版):从上往下打印二叉树

题目:从上往下打印二叉树的每个结点,同一层的结点按照从左到右的顺序打印。例如输入下图的二叉树,则一次打印出8,6,10,5,7,9,11. 这道题实质上考察的就是树的遍历算法,只是这种遍历不是我们熟悉的前序、中序或者后序遍历。由于我们不太熟悉这种按层遍历的方法,可能已下载也想不清楚遍历的过程。 因为按层打印的顺序决定应该先打印的根节点,所以我们从树的根节点开始分析。为了接下来能够打印8

D.K专栏 3300

剑指offer-面试题23:从上往下打印二叉树

题目:从上往下打印二叉树的结点,同一层的结点按照从左到右的顺序打印。 思路:先打印根结点,那么为了打印根结点的两个子结点,需要一个容器将两个子结点保存起来。然后打印左子树,过程和打印根结点类似,也需要将左子树的左右子结点保存起来。这时候容器里存有根结点的的右子树和左子树的两个子结点。接下来要打印右子树了,需要从容器里取出右子树,由于右子树相比左子树的两个子结点先入容器,先入先出,所以这是一个队列

moses1213的专栏 372
上一篇: 剑指Offer之面试题22:栈的压入、弹出序列
下一篇: 剑指Offer之面试题24:二叉搜索树的后序遍历序列
沐寒握冰
博客等级 码龄14年 57粉丝 58原创
评论
成就一亿技术人!
拼手气红包6.0元
还能输入1000个字符
 
 条评论被折叠 查看
添加红包

请填写红包祝福语或标题

个

红包个数最小为10个

元

红包金额最低5元

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

抵扣说明:

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

余额充值