力扣爆刷第159天之TOP100五连刷61-65(翻转单词、对称二叉树、遍历求和)
力扣爆刷第159天之TOP100五连刷61-65(翻转单词、对称二叉树、遍历求和)
文章目录
- 力扣爆刷第159天之TOP100五连刷61-65(翻转单词、对称二叉树、遍历求和)
- 一、151. 反转字符串中的单词
- 二、129. 求根节点到叶节点数字之和
- 三、104. 二叉树的最大深度
- 四、101. 对称二叉树
- 五、144. 二叉树的前序遍历
一、151. 反转字符串中的单词
题目链接:https://leetcode.cn/problems/reverse-words-in-a-string/description/
思路:很经典的题目,翻转字符串中的单词,只需要把所有单词都翻转,然后再整体翻转就可以。具体的实现方式有很多,比如用stringbuilder拼接然后翻转的,也有用集合收集之后翻转的,都可以。
class Solution {public String reverseWords(String s) {StringBuilder sb = new StringBuilder();StringBuilder temp = new StringBuilder();for(char c : s.toCharArray()) {if(c != ' ') temp.append(c);else if(temp.length() > 0) {sb.append(temp.reverse()).append(' ');temp = new StringBuilder();}}if(temp.length() != 0) sb.append(temp.reverse());if(sb.charAt(sb.length()-1) == ' ') sb.deleteCharAt(sb.length()-1);return sb.reverse().toString();}}
二、129. 求根节点到叶节点数字之和
题目链接:https://leetcode.cn/problems/sum-root-to-leaf-numbers/description/
思路:本题怎么都可以做,求的是从根节点到叶子节点的每一条通路都是一个数,这个数是从根节点拼接到叶子节点的。所以可以使用前序遍历,但是又要注意回溯返回,有回溯的思想在里面。其他的就没有了。
class Solution {int sum = 0;public int sumNumbers(TreeNode root) {backTracking(root, 0);return sum;}void backTracking(TreeNode root, int temp) {if(root == null) return;temp = root.val + temp * 10;if(root.left == null && root.right == null) {sum += temp;}backTracking(root.left, temp);backTracking(root.right, temp);}}
三、104. 二叉树的最大深度
题目链接:https://leetcode.cn/problems/maximum-depth-of-binary-tree/description/
思路:求最大深度,没啥好说的经典后序遍历,返回左右子树的最大深度作为最大深度。
class Solution {public int maxDepth(TreeNode root) {if(root == null) return 0;int left = maxDepth(root.left);int right = maxDepth(root.right);return Math.max(left, right) + 1;}
}
四、101. 对称二叉树
题目链接:https://leetcode.cn/problems/symmetric-tree/description/
思路:求二叉树是否对称,直接把数竖着分成两半来看,然后前序遍历比较即可。
class Solution {public boolean isSymmetric(TreeNode root) {return traverse(root.left, root.right);}boolean traverse(TreeNode node1, TreeNode node2) {if(node1 == null && node2 == null) return true;if(node1 == null|| node2 == null) return false;if(node1.val != node2.val) return false;return traverse(node1.left, node2.right) && traverse(node1.right, node2.left);}}
五、144. 二叉树的前序遍历
题目链接:https://leetcode.cn/problems/binary-tree-preorder-traversal/description/
思路:这个就是前序遍历收集,没啥可说的。
class Solution {List<Integer> list = new ArrayList<>();public List<Integer> preorderTraversal(TreeNode root) {if(root == null) return list;list.add(root.val);preorderTraversal(root.left);preorderTraversal(root.right);return list;}
}
相关文章:
力扣爆刷第159天之TOP100五连刷61-65(翻转单词、对称二叉树、遍历求和)
力扣爆刷第159天之TOP100五连刷61-65(翻转单词、对称二叉树、遍历求和) 文章目录 力扣爆刷第159天之TOP100五连刷61-65(翻转单词、对称二叉树、遍历求和)一、151. 反转字符串中的单词二、129. 求根节点到叶节点数字之和三、104. 二…...
(七)[重制]C++命名空间与标准模板库(STL)
引言 在专栏C教程的第六篇C中的结构体与联合体中,介绍了C中的结构体和联合体,包括它们的定义、初始化、内存布局和对齐,以及作为函数参数和返回值的应用。在专栏C教程的第七篇中,我们将深入了解C中的命名空间(nam…...
Elasticsearch:Runtime fields - 运行时字段(一)
目录 使用运行时字段带来的好处 激励 折衷 映射运行时字段 定义运行时字段而不使用脚本 忽略运行时字段上的脚本错误 更新和删除运行时字段 在搜索请求中定义运行时字段 创建使用其他运行时字段的运行时字段 运行时字段(runtime fields)是在查询…...
03:C语言运算符
C语言运算符 1、常见运算符2、赋值运算符3、判断运算符4、与- - 1、常见运算符 数学运算符号。常见数学运算符号,跟数学中理解相同 加号 - 减号 * 乘号 / 除号,相除以后的商 % 取余符号,相除以后余数是几 ()括号括起来优先级最高࿰…...
JAVA每日作业day7.4
ok了家人们今天学习了Date类和simpleDateformat类,话不多说我们一起看看吧 一.Date类 类 java.util.Date 表示特定的瞬间 ( 日期和时间 ) ,精确到毫秒。 1.2 Date类的构造方法 public Date(): 用来创建当前系统时间对应的日期对象。 public Date(long …...
WordPress网站违法关键词字过滤插件下载text-filter
插件下载地址:https://www.wpadmin.cn/2025.html 插件介绍 WordPress网站违法关键词字过滤插件text-filter由本站原创开发,支持中英文关键字自动替换成**号,可以通过自定义保存修改按钮增加“预设关键字”,也可以导入定义好的txt文本形式的关…...
ros1仿真导航机器人 navigation
仅为学习记录和一些自己的思考,不具有参考意义。 1navigation导航框架 2导航设置过程 (1)启动仿真环境 roslaunch why_simulation why_robocup.launch (2)启动move_base导航、amcl定位 roslaunch why_simulation nav…...
Python制作动态颜色变换:颜色渐变动效
文章目录 引言准备工作前置条件 代码实现与解析导入必要的库初始化Pygame颜色变换函数主循环 完整代码 引言 颜色渐变动画是一种视觉上非常吸引人的效果,常用于网页设计和图形应用中。在这篇博客中,我们将使用Python创建一个动态颜色变换的动画效果。通…...
Python 异步编程介绍与代码示例
Python 异步编程介绍与代码示例 一、异步编程概述 异步编程是一种编程范式,它旨在处理那些需要等待I/O操作完成或执行耗时任务的情况。在传统的同步编程中,代码会按照顺序逐行执行,直到遇到一个耗时操作,它会阻塞程序的执行直到…...
堆叠的作用
一、为什么要堆叠 传统的园区网络采用设备和链路冗余来保证高可靠性,但其链路利用率低、网络维护成本高,堆叠技术将多台交换机虚拟成一台交换机,达到简化网络部署和降低网络维护工作量的目的。 二、堆叠优势 1、提高可靠性 堆叠系统多台成…...
ubuntu 如何查看某一个网卡的ip地址
在Ubuntu中,你可以使用多种方法来查看某一个网卡的IP地址。以下是一些常用的方法: 使用ip命令: ip命令是现代Linux系统中用于显示和操作路由、网络设备、策略路由和隧道的工具。要查看所有网络接口的IP地址,你可以使用:…...
跨界客户服务:拓展服务边界,创造更多价值
在当今这个日新月异的商业时代,跨界合作已不再是新鲜词汇,它如同一股强劲的东风,吹散了行业间的壁垒,为企业服务创新开辟了前所未有的广阔天地。特别是在客户服务领域,跨界合作正以前所未有的深度和广度,拓…...
linux驱动编程 - kfifo先进先出队列
简介: kfifo是Linux Kernel里面的一个 FIFO(先进先出)数据结构,它采用环形循环队列的数据结构来实现,提供一个无边界的字节流服务,并且使用并行无锁编程技术,即当它用于只有一个入队线程和一个出…...
JS 四舍五入使用整理
一、Number.toFixed() 把数字转换为字符串,结果的小数点后有指定位数的数字,重点返回的数据类型为字符串 toFixed() 方法将一个浮点数转换为指定小数位数的字符串表示,如果小数位数高于数字,则使用 0 来填充。 toFixed() 方法可把 Number 四舍五入为指定小数位数的数字。…...
上万组风电,光伏,用户负荷数据分享
上万组风电,光伏,用户负荷数据分享 可用于风光负荷预测等研究 获取链接🔗 https://pan.baidu.com/s/1izpymx6R3Y8JsFdx42rL0A 提取码:381i 获取链接🔗 https://pan.baidu.com/s/1izpymx6R3Y8JsFdx42rL0A 提取…...
在物联网快速发展的趋势下,Java 怎样优化对低功耗、资源受限的边缘设备的支持,保障物联网应用的稳定运行?
在物联网快速发展的趋势下,Java可以通过以下方式优化对低功耗、资源受限的边缘设备的支持,以保障物联网应用的稳定运行: 精简Java运行环境:针对边缘设备的资源限制,可以使用精简型的Java运行环境,避免不必要…...
java-HashSet 源码分析 1
## 深入分析 Java 中的 HashSet 源码 HashSet 是 Java 集合框架中的一个重要类,它基于哈希表实现,用于存储不重复的元素。HashSet 允许 null 元素,并且不保证元素的顺序。本文将详细分析 HashSet 的源码,包括其数据结构、构造方法…...
K8S 部署 EFK
安装说明 系统版本为 Centos7.9 内核版本为 6.3.5-1.el7 K8S版本为 v1.26.14 ES官网 开始安装 本次安装使用官方ECK方式部署 EFK,部署的是当前的最新版本。 在 Kubernetes 集群中部署 ECK 安装自定义资源 如果能打开这个网址的话直接用这个命令安装,打不开的话…...
AI Earth应用—— 在线使用sentinel数据VV和VH波段进行水体提取分析(昆明抚仙湖、滇池为例)
AI Earth 本文的主要目的就是对水体进行提取,这里,具体的操作步骤很简单基本上是通过,首页的数据检索,选择需要研究的区域,然后选择工具箱种的水体提取分析即可,剩下的就交给阿里云去处理,结果如下: 这是我所选取的一景影像: 详情 卫星: Sentinel-1 级别: 1 …...
基于Hadoop平台的电信客服数据的处理与分析③项目开发:搭建基于Hadoop的全分布式集群---任务9:HBase的安装和部署
任务描述 任务内容为HBase的安装部署与测试。 任务指导 HBase集群需要整个集群所有节点安装的HBase版本保持一致,并且拥有相同的配置 具体配置步骤如下: 1. 解压缩HBase的压缩包 2. 配置HBase的环境变量 3. 修改HBase的配置文件,HBase…...
Cesium1.95中高性能加载1500个点
一、基本方式: 图标使用.png比.svg性能要好 <template><div id"cesiumContainer"></div><div class"toolbar"><button id"resetButton">重新生成点</button><span id"countDisplay&qu…...
聊聊 Pulsar:Producer 源码解析
一、前言 Apache Pulsar 是一个企业级的开源分布式消息传递平台,以其高性能、可扩展性和存储计算分离架构在消息队列和流处理领域独树一帜。在 Pulsar 的核心架构中,Producer(生产者) 是连接客户端应用与消息队列的第一步。生产者…...
《基于Apache Flink的流处理》笔记
思维导图 1-3 章 4-7章 8-11 章 参考资料 源码: https://github.com/streaming-with-flink 博客 https://flink.apache.org/bloghttps://www.ververica.com/blog 聚会及会议 https://flink-forward.orghttps://www.meetup.com/topics/apache-flink https://n…...
数据库分批入库
今天在工作中,遇到一个问题,就是分批查询的时候,由于批次过大导致出现了一些问题,一下是问题描述和解决方案: 示例: // 假设已有数据列表 dataList 和 PreparedStatement pstmt int batchSize 1000; // …...
【HTTP三个基础问题】
面试官您好!HTTP是超文本传输协议,是互联网上客户端和服务器之间传输超文本数据(比如文字、图片、音频、视频等)的核心协议,当前互联网应用最广泛的版本是HTTP1.1,它基于经典的C/S模型,也就是客…...
3-11单元格区域边界定位(End属性)学习笔记
返回一个Range 对象,只读。该对象代表包含源区域的区域上端下端左端右端的最后一个单元格。等同于按键 End 向上键(End(xlUp))、End向下键(End(xlDown))、End向左键(End(xlToLeft)End向右键(End(xlToRight)) 注意:它移动的位置必须是相连的有内容的单元格…...
Device Mapper 机制
Device Mapper 机制详解 Device Mapper(简称 DM)是 Linux 内核中的一套通用块设备映射框架,为 LVM、加密磁盘、RAID 等提供底层支持。本文将详细介绍 Device Mapper 的原理、实现、内核配置、常用工具、操作测试流程,并配以详细的…...
深入浅出深度学习基础:从感知机到全连接神经网络的核心原理与应用
文章目录 前言一、感知机 (Perceptron)1.1 基础介绍1.1.1 感知机是什么?1.1.2 感知机的工作原理 1.2 感知机的简单应用:基本逻辑门1.2.1 逻辑与 (Logic AND)1.2.2 逻辑或 (Logic OR)1.2.3 逻辑与非 (Logic NAND) 1.3 感知机的实现1.3.1 简单实现 (基于阈…...
uniapp手机号一键登录保姆级教程(包含前端和后端)
目录 前置条件创建uniapp项目并关联uniClound云空间开启一键登录模块并开通一键登录服务编写云函数并上传部署获取手机号流程(第一种) 前端直接调用云函数获取手机号(第三种)后台调用云函数获取手机号 错误码常见问题 前置条件 手机安装有sim卡手机开启…...
华为OD最新机试真题-数组组成的最小数字-OD统一考试(B卷)
题目描述 给定一个整型数组,请从该数组中选择3个元素 组成最小数字并输出 (如果数组长度小于3,则选择数组中所有元素来组成最小数字)。 输入描述 行用半角逗号分割的字符串记录的整型数组,0<数组长度<= 100,0<整数的取值范围<= 10000。 输出描述 由3个元素组成…...
