【剑指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;
    }

 

Comsol固体力学仿真﹣﹣受均匀内压的厚壁球壳弹塑性分析(加载卸载全流程) COMSOL固体力学及结构力学仿真较少,故而查询了有关资料,才建立了如下模型。图4 加载卸载全历程中的冯米塞斯应力变化。该有限元模型是通过扫掠而得的结构化网格。图2 加载卸载全历程中的塑型区域变化。图3 加载卸载全历程中的位移应力变化。图6 关键节点第一,第三主应力分布。图5 关键节点应力场与塑性区分布。《弹塑性力学》大作业,记录一下。图1 球体的有限元网格模型。 阅读详情

相关推荐

深入AutoSar诊断协议栈:当ECU报故障时,FiM模块是如何悄悄“阉割”功能的?

本文深入解析AutoSar诊断协议栈中FiM模块的工作原理,揭示ECU报故障时如何通过Inhibition Counter和位运算技术实现功能静默降级。探讨FiM在故障处理链中的关键角色,包括功能权限仲裁、降级策略执行和系统安全兜底,并分享实战调试技巧与进阶应用案例。

weixin_30673611的博客 174

剑指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

机器学习的学习准则(期望风险最小化、经验风险最小化、结构风险最小化)

要评价模型f(x, θ)的好坏,可通过期望风险R(θ)来衡量:求期望损失R(θ)不仅需要知道损失函数还需要知道真实分布,损失函数可以通过一定的准则计算得到,但是样本空间的真实分布是未知的。所以不能直接求R(θ)。期望风险R(θ)无法计算,给定一个训练集D =,我们可以计算经验风险,经验风险就是在训练集上的平均损失:为了解决过拟合问题,引入了参数正则化来限制模型的能力。使其不要过度的最小化经验风险。这种准则就是结构风险最小化准则

... 2225

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

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

devY的博客 447

Boost电路双闭环控制MATLAB仿真

通过电流内环控制,我们可以改变目标平均电流基准值的大小来闭环改变占空比,再改变输出电压与电路电流,直到电路电流达到基准电流才达到稳态。但是我们的基准电流依旧是外部提供的,下边的电压外环控制就是电路自己计算基准电流。

Fourglsl的博客 5846

彻底解决0x80070005错误代码:全面分析与实战指南

0x80070005错误代码虽然令人头疼,但通过上述方法,我们完全有能力将其攻克。从检查磁盘空间、设置账号权限,到运行疑难解答和系统文件检查器,再到调整相关服务状态,每一步都是解决这一问题的关键。希望本文能为你提供有力的帮助,让你在使用Windows系统的过程中更加顺畅无忧。

nntxthml的博客 6934

【面试题】二叉树的层序遍历

题目:实现一颗二叉树的层序遍历,树的结点定义如下: template&lt;class T&gt; struct BinTreeNode { BinTreeNode(const T&amp; data) :_pLeft(NULL) ,_pRight(NULL) ,_data(data) {} BinTreeNode&lt;T&gt;* _pLeft; BinTreeNode&lt...

yaotengjian的博客 527

多任务学习中的过拟合陷阱:动态停止训练机制详解与避坑指南

本文深入剖析了多任务学习中因任务过拟合不同步导致的性能下降问题,并详细介绍了动态停止-继续训练机制。该机制通过为每个任务设置独立的训练开关,基于验证集性能动态控制其梯度更新,有效缓解了任务间负迁移,是提升多任务模型整体泛化能力的关键策略。

happy2的博客 1092

程序包org.apache.commons.fileupload不存在

程序包org.apache.commons.fileupload不存在 1.问题描述 程序运行报错: Error:(7, 1) java: 程序包org.apache.commons.fileupload不存在 Error:(8, 1) java: 程序包org.apache.commons.fileupload.servlet不存在 Error:(9, 1) java: 程序包org.ap...

AlwaySimple的博客 3万+

华为OD机考双机位C卷 - 相对开音节 (Java & Python & JS & GO & C++ & C)

华为OD机考双机位C卷 - 相对开音节 , 提供Java、C++、Python、Go、JavaScript源码实现,并提供完整思路讲解,以及在线OJ模拟做题。

算法大师! 743

ClawManager实战:OpenClaw批量部署+精细化权限管控,运维效率拉满90%

ClawManager彻底解决了OpenClaw规模化部署的运维痛点,它不是简单的“批量部署工具”,而是一套完整的企业级管理方案——从模板配置、批量部署,到权限管控、监控审计、AI治理,覆盖OpenClaw全生命周期管理,让OpenClaw从“个人工具”升级为“企业级AI基础设施”。对于中小企业,Docker一键部署即可快速落地,无需复杂配置;对于大型企业,K8s部署支持高可用、横向扩展,结合Keycloak对接企业现有认证系统,可完美融入企业IT架构。

2601_94871597的博客 608

剑指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

Linux | Ubuntu18.04安装WIFI6 AX201驱动完整教程

本节介绍了如何在Ubuntu18下安装AX201驱动的教程。

九七的博客 8881

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

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

weixin_30627381的博客 59

数学建模模型总结

这是本人在两年内准备参加数学建模竞赛搜集到的模型资料,已经经过了本人的筛选和整理,希望能够对准备参加数学建模竞赛的学弟学妹们提供一些帮助!

文档:亲测可用解决vnc灰屏,黑屏,鼠标大黑叉情况

主要解决vnc-viewer灰屏,黑屏,鼠标大黑叉等现象,详细见文档。

剑指 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

IMSL CNL 7.0.0 (x86-64)Crack

IMSL CNL 7.0.0 (x86-64)Crack intel的算法库破解文件,这是C++版本的破解文件

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

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

Amanda_wr的博客 272

LinePhone3.2.7(android端最新版本) sip客户端

SIP客户端For android:LinePhone3.2.7(最新版本),官网地址:http://www.linphone.org/

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

剑指 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
上一篇: 【剑指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、付费专栏及课程。

余额充值