面试算法-174-二叉树的层序遍历

server/2024/11/9 16:34:58/

题目

给你二叉树的根节点 root ,返回其节点值的 层序遍历 。 (即逐层地,从左到右访问所有节点)。

示例 1:
在这里插入图片描述

输入:root = [3,9,20,null,null,15,7]
输出:[[3],[9,20],[15,7]]

class Solution {public List<List<Integer>> levelOrder(TreeNode root) {return bfs(root);}public List<List<Integer>> bfs(TreeNode root) {List<List<Integer>> result = new ArrayList<>();if (root == null) {return result;}LinkedList<TreeNode> queue1 = new LinkedList<>();LinkedList<TreeNode> queue2 = new LinkedList<>();queue1.add(root);List<Integer> list = new ArrayList<>();while (!queue1.isEmpty()) {TreeNode poll = queue1.poll();list.add(poll.val);if (poll.left != null) {queue2.add(poll.left);}if (poll.right != null) {queue2.add(poll.right);}if (queue1.isEmpty()) {result.add(list);list = new ArrayList<>();queue1 = queue2;queue2 = new LinkedList<>();}}return result;}
}

http://www.ppmy.cn/server/2209.html

相关文章

Python调用C语言

你可以使用Python的ctypes模块来调用C语言编写的函数。这个模块允许Python与动态链接库进行交互&#xff0c;从而调用C函数。 简单示例 首先&#xff0c;创建一个C语言源文件&#xff0c;比如example.c&#xff1a; #include <stdio.h>// 定义一个简单的C函数 int add…

Apache Hive

一.什么是Hive Apache Hive是一个建立在Hadoop上的数据仓库工具&#xff0c;它提供了类似于SQL的查询语言——HiveQL&#xff08;类SQL语言&#xff09;&#xff0c;让用户能够轻松地对存储在Hadoop分布式文件系统&#xff08;HDFS&#xff09;中的大规模数据进行查询、分析和管…

一些优雅的算法(c++)

求最大公约数&#xff1a;辗转相除法 int gcd(int a,int b){return b0?a:gcd(b,a%b); }求最小公倍数&#xff1a;两整数之积除以最大公约数 int lcm(int a, int b){return a*b / gcd(a, b); }十进制转n进制&#xff1a; char get(int x){if(x<9){return x0;}else{return…

Java智慧校园系统源码springboot + vue智慧学校源码 微信小程序+电子班牌

Java智慧校园系统源码springboot vue智慧学校源码 微信小程序电子班牌 智慧校园的建设逐渐被师生、家长认可接受&#xff0c;智慧校园通过对在校师生、教务等所有人员的信息以及各种信息搜集与储存&#xff0c;进行数据优化与管理&#xff0c;为师生们提供更加智能化的校园服务…

XXL-JOB v2.4.1 版本正式发布!

v2.4.1 Release Notes 1、【优化】多个项目依赖升级至较新稳定版本&#xff0c;涉及 netty、groovy、springboot、mybatis 等&#xff1b;2、【修复】“CVE-2022-43402” groovy 低版本漏洞修复。3、【修复】“CVE-2024-29025” netty 低版本漏洞修复。4、【修复】“CVE-2024-…

阿里巴巴java 开发手册1.7

《Java 开发手册》是 Java 社区爱好者的集体智慧结晶和经验总结&#xff0c;经历了多次大规模一线实战的检验及不断完善&#xff0c;整理成册后&#xff0c;众多社区开发者踊跃参与打磨完善&#xff0c;系统化地整理成册&#xff0c;当前的最新版本是黄山版。现代软件行业的高速…

数据结构 第五章 树与二叉树(一)

&#x1f680; 【考纲要求】树的基本概念 一、树的基本概念 1.1树的定义 如下所示就是一个树&#xff0c;需要知道树是递归的数据结构&#xff0c;同时树仍然是一个逻辑结构。&#xff08;对于树是递归定义的数据结构&#xff0c;在后面我们会有更深刻的体会&#xff09; 树…

系统学c#3、基础语法--控制流程(判断、循环、方法、数组、集合)

判断语句&#xff08;if、switch-case&#xff09;&#xff1a; if 语句 用于条件判断&#xff0c;其中包含一个布尔表达式&#xff0c;后面跟随着一段要执行的代码;当布尔表达式为true时&#xff0c;后面跟随的代码就会执行。 包括&#xff1a; 循环语句&#xff08;for、wh…