2024.2.15每日一题

news/发布时间2024/6/2 5:00:30

LeetCode

二叉树的层序遍历 II

107. 二叉树的层序遍历 II - 力扣(LeetCode)

题目描述

给你二叉树的根节点 root ,返回其节点值 自底向上的层序遍历 。 (即按从叶子节点所在层到根节点所在的层,逐层从左向右遍历)

示例 1:

img

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

示例 2:

输入:root = [1]
输出:[[1]]

示例 3:

输入:root = []
输出:[]

提示:

  • 树中节点数目在范围 [0, 2000]
  • -1000 <= Node.val <= 1000

思路

BFS

代码

C++
class Solution {
public:vector<vector<int>> levelOrderBottom(TreeNode *root) {if (root == nullptr) return {};vector<vector<int>> ans;vector<TreeNode*> cur{root};while (cur.size()) {vector<TreeNode*> nxt;vector<int> vals;for (auto node : cur) {vals.push_back(node->val);if (node->left)  nxt.push_back(node->left);if (node->right) nxt.push_back(node->right);}cur = move(nxt);ans.emplace_back(vals);}ranges::reverse(ans);return ans;}
};
Java
class Solution {public List<List<Integer>> levelOrderBottom(TreeNode root) {if (root == null) return List.of();List<List<Integer>> ans = new ArrayList<>();List<TreeNode> cur = List.of(root);while (!cur.isEmpty()) {List<TreeNode> nxt = new ArrayList<>();List<Integer> vals = new ArrayList<>(cur.size()); // 预分配空间for (TreeNode node : cur) {vals.add(node.val);if (node.left != null)  nxt.add(node.left);if (node.right != null) nxt.add(node.right);}cur = nxt;ans.add(vals);}Collections.reverse(ans);return ans;}
}

image-20240215164916745

image-20240215164927401

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

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

相关文章

【计算机网络】网络编程套接字UDP服务器客户端的简单模拟

需要云服务器等云产品来学习Linux的同学可以移步/–>腾讯云<–/官网&#xff0c;轻量型云服务器低至112元/年&#xff0c;优惠多多。&#xff08;联系我有折扣哦&#xff09; 文章目录 1. 前置知识1.1 源IP和目的IP1.2 端口号1.3 TCP协议和UDP协议初识1.4 网络字节序1.5 …

Linux中信号机制

信号机制 信号的概念 概念&#xff1a;信号是在软件层次上对中断机制的一种模拟&#xff0c;是一种异步通信方式 所有信号的产生及处理全部都是由内核完成的信号的产生&#xff1a; 1 按键产生 2 系统调用函数产生&#xff08;比如raise&#xff0c; kill&#xff09; 3 硬件…

Kubernetes(K8s)的基础概念

K8s的概念 K8S 的全称为 Kubernetes (K12345678S) &#xff08;简化全称&#xff09; Kubernetes 是一个可移植、可扩展的开源平台&#xff0c;用于 管理容器化工作负载和服务&#xff0c;有助于声明式配置和自动化。它拥有庞大且快速发展的生态系统。Kubernetes 服务、支持和…

Vue中$root的使用方法

查看本专栏目录 关于作者 还是大剑师兰特&#xff1a;曾是美国某知名大学计算机专业研究生&#xff0c;现为航空航海领域高级前端工程师&#xff1b;CSDN知名博主&#xff0c;GIS领域优质创作者&#xff0c;深耕openlayers、leaflet、mapbox、cesium&#xff0c;canvas&#x…

【Java】零基础蓝桥杯算法学习——线性动态规划(一维dp)

线性dp——一维动态规划 1、考虑最后一步可以由哪些状态得到&#xff0c;推出转移方程 2、考虑当前状态与哪些参数有关系&#xff0c;定义几维数组来表示当前状态 3、计算时间复杂度&#xff0c;判断是否需要进行优化。 一维动态规划例题&#xff1a;最大上升子序列问题 Java参…

Java基于微信小程序的电子竞技信息交流平台

博主介绍&#xff1a;✌程序员徐师兄、7年大厂程序员经历。全网粉丝12w、csdn博客专家、掘金/华为云/阿里云/InfoQ等平台优质作者、专注于Java技术领域和毕业项目实战✌ &#x1f345;文末获取源码联系&#x1f345; &#x1f447;&#x1f3fb; 精彩专栏推荐订阅&#x1f447;…

07-k8s中secret资源02-玩转secret

一、回顾secret资源的简单实用 第一步&#xff1a;将想要的数据信息【key&#xff1a;value】中的value值&#xff0c;使用base64编码后&#xff0c;写入secret资源清单中&#xff1b; 第二步&#xff1a;创建secret资源&#xff1b; 第三步&#xff1a;pod资源引用secret资源&…

相机图像质量研究(12)常见问题总结:光学结构对成像的影响--炫光

系列文章目录 相机图像质量研究(1)Camera成像流程介绍 相机图像质量研究(2)ISP专用平台调优介绍 相机图像质量研究(3)图像质量测试介绍 相机图像质量研究(4)常见问题总结&#xff1a;光学结构对成像的影响--焦距 相机图像质量研究(5)常见问题总结&#xff1a;光学结构对成…

代码随想录Leetcode70. 爬楼梯

题目&#xff1a; 代码&#xff08;首刷自解 2024年2月19日&#xff09;&#xff1a; 空间复杂度为O(N)&#xff0c;如果想要优化空间复杂度&#xff0c;则只用三个变量进行状态转移也可以&#xff0c;参考 代码随想录 Leetcode509. 斐波那契数-CSDN博客 class Solution { pu…

xilinx除法器的使用

平台&#xff1a;Vivado2018.3. 芯片&#xff1a;xcku115-flva1517-2-i (active) 最近学习使用了xilinx除法器&#xff0c;在使用过程中出现了很多次除法器的结果和我预计的结果不一致&#xff0c;特此记录学习一下。 参考文件&#xff1a;pg151.下载地址 pg151-div-gen.pdf …

如何使用静态住宅ip代理进行Facebook群控?

在进行Facebook群控时&#xff0c;ip地址的管理是非常重要的&#xff0c;因为Facebook通常会检测ip地址的使用情况&#xff0c;如果发现有异常的使用行为&#xff0c;比如从同一个ip地址频繁进行登录、发布内容或者在短时间内进行大量的活动等等&#xff0c;就会视为垃圾邮件或…

C++——日期类

前言&#xff1a;哈喽小伙伴们&#xff0c;在上一篇文章中我们对C类与对象的前半段知识进行了简单的分享&#xff0c;其中比较重要的莫过于C类的六个默认成员函数。 所以这篇文章&#xff0c;我们通过实现一个完整的日期的操作&#xff0c;来对这些成员函数有一个更加深入的理…

Linux学习笔记(centOS)—— 文件系统

目录 一、Linux中的文件 打开方式 二、目录结构​ 三、相关命令 切换目录命令 列出当前目录下的文件和目录命令 一、Linux中的文件 “万物皆文件。” 图1.1 所有文件 打开方式 图形化界面左上角的位置→计算机&#xff0c;打开以后就可以看到Linux全部的文件了&#xf…

vue3实现瀑布流布局组件

先看效果图 直接上代码 utils.js // 用于模拟接口请求 export const getRemoteData (data 获取数据, time 2000) > {return new Promise((resolve) > {setTimeout(() > {console.log(模拟获取接口数据, data)resolve(data)}, time)}) }// 获取数组随机项 export…

08MARL深度强化学习 independent learning

文章目录 前言1、Independent Value-based Learning2、Independent Policy Gradient Methods 前言 记录independent learning算法的基础概念&#xff0c;使用一些RL算法训练多智能体 1、Independent Value-based Learning 基于值的独立学习算法&#xff1a;每个智能体根据自身…

jsp课程教学管理系统Myeclipse开发mysql数据库web结构java编程计算机网页项目

一、源码特点 JSP 课程教学管理系统是一套完善的java web信息管理系统&#xff0c;对理解JSP java编程开发语言有帮助&#xff0c;系统具有完整的源代码和数据库&#xff0c;系统主要采用B/S模式开发。开发环境为 TOMCAT7.0,Myeclipse8.5开发&#xff0c;数据库为Mysql5.0…

第13章 网络 Page741~744 asio核心类 ip::tcp::socket

1. ip::tcp::socket liburl库使用"curl*" 代表socket 句柄 asio库使用ip::tcp::socket类代表TCP协议下的socket对象。 将“句柄”换成“对象”,因为asio库是不打折扣的C库 ip::tcp::socket提供一下常用异步操作都以async开头 表13-3 tcp::socket提供的异步操作 …

docker本地目录挂载

小命令 1、查看容器详情 docker inspect 容器名称 还是以nginx为例&#xff0c;上篇文章我们制作了nginx静态目录的数据卷&#xff0c;此时查看nginx容器时会展示出来&#xff08;docker inspect nginx 展示信息太多&#xff0c;这里只截图数据卷挂载信息&#xff09;&#…

FOC电流环速度环调试记录

FOC电流环速度环调试记录 电流环&#xff1a; 首先foc控制中都采用PI控制&#xff0c;没有引入微分&#xff0c;因为电流的采样率非常高不需要加入微分项&#xff1b;微分项的加入&#xff0c;会使电流采样中的高频小信号误差起到放大的作用&#xff0c;把小的误差放大&#…

C语言与C++:探索两种强大的编程语言

在编程的世界里&#xff0c;C语言和C无疑是两座重要的里程碑。它们不仅各自拥有独特的特点和优势&#xff0c;而且还在不同的领域和场景中发挥着关键作用。本文将深入探讨C语言和C的相似之处与差异&#xff0c;帮助读者更好地理解和应用这两种编程语言。 一、C语言&#xff1a…
推荐文章