Java层序遍历二叉树

二叉树准备:

public class TreeNode {int val;TreeNode left;TreeNode right;TreeNode() {}TreeNode(int val) {this.val = val;}TreeNode(int val, TreeNode left, TreeNode right) {this.val = val;this.left = left;this.right = right;}
}
思路:我们需要创建一个队列,根先进,如果左子树或者右子树不为空,也要进

力扣

public class Test2{public List<List<Integer>> levelOrder(TreeNode root) {Queue<TreeNode> qu=new LinkedList<>();List<List<Integer>> ret=new ArrayList<>();if(root==null)return ret;//队列存第一个qu.offer(root);int size;while (!qu.isEmpty()){List<Integer> list=new ArrayList<>();//队列不为空其中我们只返回当下跟节点的左子树第一个和右子树第一个,所以需要sizesize= qu.size();while (size!=0){TreeNode cur=qu.poll();list.add(cur.val);if(cur.left!=null)qu.add(cur.left);if(cur.right!=null)qu.add(cur.right);size--;}ret.add(list);//每一行}return ret;}
}

本文来自互联网用户投稿,该文观点仅代表作者本人,不代表本站立场。本站仅提供信息存储空间服务,不拥有所有权,不承担相关法律责任。如若转载,请注明出处:http://www.mzph.cn/news/639732.shtml

如若内容造成侵权/违法违规/事实不符,请联系多彩编程网进行投诉反馈email:809451989@qq.com,一经查实,立即删除!

相关文章

前后端分离,使用vue3整合SpringSecurity加JWT实现登录校验

前段时间写了一篇spring security的详细入门&#xff0c;但是没有联系实际。 所以这次在真实的项目中来演示一下怎样使用springsecurity来实现我们最常用的登录校验。本次演示使用现在市面上最常见的开发方式&#xff0c;前后端分离开发。前端使用vue3进行构建&#xff0c;用到…

算法每日一题: 分割数组的最大值 | 动归 | 分割数组 | 贪心+二分

Hello&#xff0c;大家好&#xff0c;我是星恒 呜呜呜&#xff0c;今天给大家带来的又是一道经典的动归难题。 题目&#xff1a;leetcode 410给定一个非负整数数组 nums 和一个整数 k &#xff0c;你需要将这个数组分成 k_ 个非空的连续子数组。设计一个算法使得这 k _个子数组…

Mybatis 动态SQL(set)

我们先用XML的方式实现 : 把 id 为 13 的那一行的 username 改为 ip 创建一个接口 UserInfo2Mapper ,然后在接口中声明该方法 package com.example.mybatisdemo.mapper; import com.example.mybatisdemo.model.UserInfo; import org.apache.ibatis.annotations.*; import jav…

mybatis的缓存机制

视频教程_免费高速下载|百度网盘-分享无限制 (baidu.com) MyBatis 有一套灵活而强大的缓存机制&#xff0c;主要分为两级缓存&#xff1a;一级缓存&#xff08;本地缓存&#xff09;和二级缓存&#xff08;全局缓存&#xff09;。 一级缓存&#xff08;本地缓存&#xff09;&a…

【网络奇遇记】揭秘计算机网络性能指标:全面指南

&#x1f308;个人主页&#xff1a;聆风吟 &#x1f525;系列专栏&#xff1a;网络奇遇记、数据结构 &#x1f516;少年有梦不应止于心动&#xff0c;更要付诸行动。 文章目录 &#x1f4cb;前言一. 速率1.1 数据量1.2 速率 二. 带宽三. 吞吐量四. 时延4.1 发送时延4.2 传播时延…

PCIe-6328 八口USB3.0图像采集卡:专为工业自动化和机器视觉设计

PCIe-6328一块8口USB 3.0主控卡&#xff0c;专为工业自动化和机器视觉相关应用设计。USB 3.0或称作高速USB&#xff0c;是一项新兴总线技术&#xff0c;10倍于USB2.0的传输速度&#xff0c;尤其适用于高速数据存储和图 像设备。 绝大多数现有USB 3.0卡兼用多个接口于一个USB 3…

MySQL(七)——Python操作MySQL基础使用

上期文章 MySQL&#xff08;六&#xff09;——事务 文章目录 上期文章数据库介绍MySQL入门使用SQL基础SQL语言分类SQL语法特征 DDLDMLDQLPython & MySQL基础使用总结 数据插入手动commit自动commit总结 综合案例 数据库介绍 数据库是指数据存储的库&#xff0c;作用就是…

5. 函数调用过程汇编分析

函数调用约定 __cdecl 调用方式 __stdcall 调用方式 __fastcall 调用方式 函数调用栈帧分析 补充说明 不同的编译器实现不一样&#xff0c;上述情况只是VC6.0的编译实现即便是在同一个编译器&#xff0c;开启优化和关闭优化也不一样即便是同一个编译器同一种模式&#xff0c;3…

光催化专用设备太阳光模拟器装置

什么是光催化材料&#xff1f; 光催化材料是指通过该材料、在光的作用下发生的光化学反应所需的一类半导体催化剂材料。半导体是一种介于导体和绝缘体之间的物质&#xff0c;它有一个特殊的能带结构&#xff0c;即价带和导带之间有一个禁带&#xff0c;禁带的宽度决定了半导体…

Day37 贪心算法 part06 738. 单调递增的数字 968. 监控二叉树

贪心算法 part06 738. 单调递增的数字 968. 监控二叉树 738. 单调递增的数字 class Solution { public:int monotoneIncreasingDigits(int n) {string strNum to_string(n);int tag strNum.size();for(int i strNum.size()-1; i>1; i--){if(strNum[i]<strNum[i-1]){…

04.Timer应用

Timer应用与源码 1.Timer介绍 java.util包下提供了对定时任务的支持&#xff0c;在JDK很早的版本就支持了&#xff0c;但是由于一些问题被逐渐淘汰了&#xff0c;现在建议使用ScheduledThreadPoolExecutor来代替Timer 2.Timer使用Demo /*** description: 测试Timer* author…

linux压缩包形式安装mysql5.7

1. 下载 MySQL 压缩包 在官方网站或者镜像站下载 MySQL 压缩包。mysql-5.7.29-linux-glibc2.12.tar 下载地址&#xff1a; MySQL :: Download MySQL Community Server (Archived Versions) 2. 解压缩文件 使用以下命令解压 MySQL 压缩包&#xff1a; tar xvf mysql-5.7.29…

C++ 类和对象 知识笔记

C 类和对象 知识笔记 1、类和对象 C面向对象的三大特征为&#xff1a;封装、继承、多态 C认为万事万物都皆为对象&#xff0c;对象上有其属性和行为 例如 人可以作为对象&#xff0c;属性有姓名、年龄、身高、体重…&#xff0c;行为有走、跳、跑、吃饭、唱歌…。 1.1、封装…

软考高项论文范文 | 进度管理

2017年5月&#xff0c;受某政府部门的委托&#xff0c;我单位承接了某信息共享与服务系统的建设工作&#xff0c;在本项目中我担任项目经理&#xff0c;负责项目的整体规划、组织实施和管理控制。某政府部门拥有多年积累的大量工作资源&#xff0c;这些信息是其开展各项行业服务…

南南合作里程碑!批量苏州金龙纯电公交正式交付哥斯达黎加

1月17日&#xff0c;哥斯达黎加电力研究所&#xff08;ICE&#xff09;收到了中国援助的批量苏州金龙海格纯电公交&#xff0c;该批车是中国应对气候变化南南合作援助哥斯达黎加项目的重要物资之一。中国驻哥斯达黎加特命全权大使汤恒出席交付仪式。 中国驻哥斯达黎加大使汤恒&…

esp8266小车智能wifi小车寒假营实战背篼酥老师

esp8266小车智能wifi小车寒假营实战 10节课 整车效果图如下 第一课 esp8266开发环境搭建和库文件加载 课程如下&#xff1a; 环境搭建 库文件下载链接&#xff1a;见文章末尾 第二课 小车模块组成和例程简介 课程如下&#xff1a; 车身PCB 小车电机 esp8266扩展板 esp8…

Flink实战之DataStream API

接上文&#xff1a;Flink实战之运行架构 Flink的计算功能非常强大&#xff0c;提供的应用API也非常丰富。整体上来说&#xff0c;可以分为DataStreamAPI&#xff0c;DataSet API 和 Table与SQL API三大部分。 其中DataStream API是Flink中主要进行流计算的模块。 DateSet API是…

vue3-组件通信

1. 父传子-defineProps 父组件&#xff1a; <script setup> import { ref } from vueimport SonCom from /components/Son-com.vueconst message ref(parent)</script><template><div></div><SonCom car"沃尔沃" :message"…

ctfshow-反序列化(web267-web270)

目录 web267 web268 web269 web270 总结 web267 页面用的什么框架不知道 看源码看一下 框架就是一种软件工具&#xff0c;它提供了一些基础功能和规范&#xff0c;可以帮助开发者更快地构建应用程序。比如Yii框架和ThinkPHP框架就是两个流行的PHP框架&#xff0c;它们提供…

Golang 中如何实现 Set

在Go编程中&#xff0c;数据结构的选择对解决问题至关重要。本文将探讨如何在 GO 中实现 set 和 bitset 两种数据结构&#xff0c;以及它们在Go中的应用场景。 Go 的数据结构 Go 内置的数据结构并不多。工作中&#xff0c;我们最常用的两种数据结构分别是 slice 和 map&#…