当前位置: 首页 > news >正文

代码随想录——修建二叉搜素树(Leetcode669)

题目链接
在这里插入图片描述

递归

/*** Definition for a binary tree node.* 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;*     }* }*/
class Solution {public TreeNode trimBST(TreeNode root, int low, int high) {// 检查传入的 root 是否为 null。如果是,则说明树为空,直接返回 null。if(root == null){return null;}// 如果 root 的值小于范围下限 low,那么这个节点以及它的左子树中的所有节点都不在范围内。// 因此,递归地对右子树进行修剪(即删除小于 low 的节点),并返回修剪后的右子树的根节点。if(root.val < low){TreeNode right = trimBST(root.right, low, high);return right;}// 如果 root 的值大于范围上限 high,那么这个节点以及它的右子树中的所有节点都不在范围内。// 因此,递归地对左子树进行修剪(即删除大于 high 的节点),并返回修剪后的左子树的根节点。if(root.val > high){TreeNode left = trimBST(root.left, low, high);return left;}// 递归地对 root 的左右子节点进行修剪。即使 root 的值在范围内,它的子节点可能不在范围内,所以需要分别对左右子节点进行相同的修剪过程。root.left = trimBST(root.left, low, high);root.right = trimBST(root.right, low, high);// 最后,在完成所有必要的修剪后,返回 root 节点。return root;}
}

相关文章:

代码随想录——修建二叉搜素树(Leetcode669)

题目链接 递归 /*** Definition for a binary tree node.* public class TreeNode {* int val;* TreeNode left;* TreeNode right;* TreeNode() {}* TreeNode(int val) { this.val val; }* TreeNode(int val, TreeNode left, TreeNode right) {* …...

EasyExcel导出多个sheet封装

导出多个sheet 在需求中&#xff0c;会有需要导出多种sheet的情况&#xff0c;那么这里使用easyexcel进行整合 步骤 1、导入依赖 <dependency><groupId>org.projectlombok</groupId><artifactId>lombok</artifactId></dependency><d…...

【Python错误】:AttributeError: ‘generator‘ object has no attribute ‘next‘解决办法

【Python错误】&#xff1a;AttributeError: ‘generator’ object has no attribute next’解决办法 在Python中&#xff0c;生成器是一种使用yield语句的特殊迭代器&#xff0c;它允许你在函数中产生一个值序列&#xff0c;而无需一次性创建并返回整个列表。然而&#xff0c;…...

如何配置Feign以实现服务调试

1、引入依赖 在项目中&#xff0c;需要引入Spring Cloud OpenFeign的依赖。这通常是通过在pom.xml文件中添加相应的Maven依赖来完成的。例如&#xff1a; <dependency><groupId>org.springframework.cloud</groupId><artifactId>spring-cloud-starte…...

pc之间的相互通信详解

如图&#xff0c;实现两台pc之间的相互通信 1.pc1和pc2之间如何进行通讯。 2.pc有mac和ip&#xff0c;首先pc1需要向sw1发送广播&#xff0c;sw1查询mac地址表&#xff0c;向router发送广播&#xff0c;router不接受广播&#xff0c;router的每个接口都有ip和mac&#xff0c;…...

Mongodb中字段的删除

学习mongodb&#xff0c;体会mongodb的每一个使用细节&#xff0c;欢迎阅读威赞的文章。这是威赞发布的第61篇mongodb技术文章&#xff0c;欢迎浏览本专栏威赞发布的其他文章。 本篇文章&#xff0c;探讨UPDATE中的操作符$unset。Mongodb数据插入后&#xff0c;开发人员使用$u…...

TP8 PHP 动态变量调用 (new $class())->$action($data)

动态&#xff1a; $class \app\table\model\Log; $action DataSave; $data [...]; // 假设这是你要保存的数据//class_exists和method_exists的检查&#xff0c;这段代码能够在尝试实例化类或调用方法之前&#xff0c;先验证类是否存在以及该类中是否存在指定的方法。如果类…...

理解JVM内存模型与Java内存模型(JMM)

理解JVM内存模型与Java内存模型&#xff08;JMM&#xff09; 在Java程序的运行过程中&#xff0c;内存管理和线程的同步是两个重要的概念。本文将深入探讨JVM内存模型&#xff08;Java Virtual Machine Memory Model&#xff09;和JMM&#xff08;Java Memory Model&#xff0…...

鸿蒙OS初识

学习官网&#xff1a;https://www.harmonyos.com/cn/develop 准备 注册&#xff0c;安装软件&#xff08;node:12, DevEco Studio&#xff09;&#xff1a; https://developer.harmonyos.com/cn/docs/documentation/doc-guides/software_install-0000001053582415#ZH-CN_TOP…...

发布自己的 npm 插件包:步骤与最佳实践

在 Node.js 的生态系统中&#xff0c;npm&#xff08;Node Package Manager&#xff09;是一个不可或缺的组成部分。npm 允许开发者创建、共享和使用各种库和插件。如果你有自己的 Node.js 插件或库&#xff0c;并且希望与全世界的其他开发者共享&#xff0c;那么发布到 npm 是…...

BubbleML: A Multiphase Multiphysics Dataset and Benchmarks for Machine Learning

我们使用以下六个分类标准: 研究方法: 这个标准根据如何收集和分析数据来区分研究方法。 实验研究,如参考文献[64]中的研究,涉及在受控环境中研究人员操纵变量并观察结果的物理实验。这种方法对于收集真实世界的数据很有价值,但可能成本高且耗时。模拟研究利用计算模型来模…...

vscode+latex设置跳转快捷键

安装参考 https://blog.csdn.net/Hacker_MAI/article/details/130334821 设置默认recipe ctrl P 打开设置&#xff0c;搜索recipe 也可以点这里看看有哪些配置 2 设置跳转快捷键...

PHP序列化、反序列化

目录 一、PHP序列化&#xff1a;serialize() 1.对象序列化 2.pop链序列化 3.数组序列化 二、反序列化&#xff1a;unserialize() 三、魔术方法 ​四、NSSCTF相关简单题目 1.[SWPUCTF 2021 新生赛]ez_unserialize 2.[SWPUCTF 2021 新生赛]no_wakeup 学习参考&#xff1…...

websocket链接携带参数

前端创建链接时官方提供的构造函数 var aWebSocket new WebSocket(url, [protocols]); url&#xff1a;要连接的URL&#xff1b;这应该是WebSocket服务器将响应的URL。 protocols&#xff1a;可选&#xff1b;一个协议字符串或者一个包含协议字符串的数组。这些字符串用于指定…...

【C++进阶】深入STL之list:模拟实现深入理解List与迭代器

&#x1f4dd;个人主页&#x1f339;&#xff1a;Eternity._ ⏩收录专栏⏪&#xff1a;C “ 登神长阶 ” &#x1f921;往期回顾&#x1f921;&#xff1a;初步了解 list &#x1f339;&#x1f339;期待您的关注 &#x1f339;&#x1f339; ❀STL之list &#x1f4d2;1. list…...

技术管理之巅—如何从零打造高质效互联网技术团队阅读体验

技术管理之巅—如何从零打造高质效互联网技术团队 《技术管理之巅&#xff1a;如何从零打造高质效互联网技术团队》是黄哲铿所著的一本书&#xff0c;致力于帮助技术管理者从零开始打造高效的互联网技术团队。该书分为多个章节&#xff0c;分别探讨了从团队文化建设到技术架构…...

机器学习与数据挖掘知识点总结(一)

简介&#xff1a;随着人工智能&#xff08;AI&#xff09;蓬勃发展&#xff0c;也有越来越多的人涌入到这一行业。下面简单介绍一下机器学习的各大领域&#xff0c;机器学习包含深度学习以及强化学习&#xff0c;在本节的机器学习中主要阐述一下机器学习的线性回归逻辑回归&…...

行心科技中禄松波携手,开启智能健康新时代

在2024年第34届健博会暨中国大健康产业文化节的盛大舞台上&#xff0c;广州市行心信息科技有限公司&#xff08;以下简称“行心科技”&#xff09;与浙江中禄松波生物工程有限公司&#xff08;以下简称“中禄松波”&#xff09;宣布达成战略合作&#xff0c;共同推动医康养产业…...

前端多人项目开发中,如何保证CSS样式不冲突?

在前端项目开发中&#xff0c;例如突然来了一个大项目&#xff0c;很可能就需要多人一起开发&#xff0c;领导说了&#xff0c;要快&#xff0c;要快&#xff0c;要快&#xff0c;你们给我快。然后下面大伙就一拥而上&#xff0c;干着干着发现&#xff0c;一更新代码&#xff0…...

【YOLOv10改进[CONV]】使用DualConv二次创新C2f模块实现轻量化 + 含全部代码和详细修改方式 + 手撕结构图 + 全网首发

本文将使用DualConv二次创新C2f模块实现轻量化,助力YOLOv10目标检测效果的实践,文中含全部代码、详细修改方式以及手撕结构图。助您轻松理解改进的方法。 改进前和改进后的参数对比: 目录 一 DualConv 1 结合33卷积和11卷积核 2 DualConv 3 可视化 二 C2f_DualConv助…...

实战jdk1.8新特性:在快马平台用lambda和stream处理订单数据

最近在重构一个老项目的订单模块时&#xff0c;决定全面升级到JDK1.8。这个版本引入的lambda和Stream API真是让人眼前一亮&#xff0c;尤其是处理集合数据时&#xff0c;代码量直接减半。今天就用InsCode(快马)平台带大家实战这些新特性&#xff0c;模拟一个订单数据处理系统。…...

用极空间 NAS 搭专属博客:Typecho 部署全攻略,把创作握在自己手里

前言 作为常年折腾各类私有部署工具的科技爱好者&#xff0c;我一直觉得「真正的创作自由」&#xff0c;藏在自己能掌控的服务器里。试过不少博客程序&#xff0c;要么配置繁琐&#xff0c;要么资源占用高&#xff0c;直到把 Typecho 和极空间 NAS 结合&#xff0c;才找到最舒…...

WordPress主题开发实战:从零开始搭建你的第一个自定义主题(2024最新版)

WordPress主题开发实战&#xff1a;从零开始搭建你的第一个自定义主题&#xff08;2024最新版&#xff09; 如果你正准备踏入WordPress主题开发的世界&#xff0c;这篇文章将带你从零开始构建一个完整的自定义主题。不同于简单的仿制或修改现有主题&#xff0c;我们将深入探讨如…...

KKManager终极指南:三步轻松管理你的游戏Mod和插件

KKManager终极指南&#xff1a;三步轻松管理你的游戏Mod和插件 【免费下载链接】KKManager Mod, plugin and card manager for games by Illusion that use BepInEx 项目地址: https://gitcode.com/gh_mirrors/kk/KKManager KKManager是一款专为Illusion系列游戏设计的M…...

从if-else到assign:聊聊RTL代码风格如何影响X态传播与电路质量

从if-else到assign&#xff1a;RTL代码风格对X态传播与电路质量的深层影响 在数字IC设计领域&#xff0c;X态就像电路中的"幽灵信号"&#xff0c;它无声无息地潜伏在设计中&#xff0c;直到某个关键时刻突然显现&#xff0c;引发难以追踪的异常行为。对于RTL工程师而…...

HP-Socket技术演讲视频描述撰写指南:关键词与吸引力

HP-Socket技术演讲视频描述撰写指南&#xff1a;关键词与吸引力 【免费下载链接】HP-Socket High Performance TCP/UDP/HTTP Communication Component 项目地址: https://gitcode.com/gh_mirrors/hp/HP-Socket HP-Socket是一款高性能跨平台网络通信框架&#xff0c;专为…...

拒了一个只要1.8万的45岁大佬

因公众号更改推送规则&#xff0c;请点“在看”并加“星标”第一时间获取精彩技术分享点击关注#互联网架构师公众号&#xff0c;领取架构师全套资料 都在这里0、2T架构师学习资料干货分上一篇&#xff1a;2T架构师学习资料干货分享大家好&#xff0c;我是互联网架构师&#xff…...

all-MiniLM-L6-v2保姆级教程:Ollama模型卸载、版本回滚与缓存清理指南

all-MiniLM-L6-v2保姆级教程&#xff1a;Ollama模型卸载、版本回滚与缓存清理指南 1. 为什么需要管理你的Ollama模型&#xff1f; 你可能已经用Ollama成功部署了all-MiniLM-L6-v2&#xff0c;体验了它轻量高效的句子嵌入能力。但用久了你会发现&#xff0c;硬盘空间在悄悄减少&…...

量化模型精度补偿方案:百川2-13B-4bits在OpenClaw复杂推理中的表现提升

量化模型精度补偿方案&#xff1a;百川2-13B-4bits在OpenClaw复杂推理中的表现提升 1. 量化模型的精度挑战与补偿需求 当我第一次尝试将百川2-13B-4bits量化模型接入OpenClaw进行自动化任务处理时&#xff0c;遇到了一个典型问题&#xff1a;在简单的文件整理和网页操作任务中…...

用Logisim搞定六进制计数器:从真值表到同步置数/异步清零的保姆级布线教程

用Logisim搞定六进制计数器&#xff1a;从真值表到同步置数/异步清零的保姆级布线教程 第一次在Logisim里搭建计数器电路时&#xff0c;看着那些密密麻麻的逻辑门和跳线&#xff0c;我盯着屏幕发呆了半小时——明明按照课本上的真值表连接&#xff0c;仿真时却总是卡在某个状态…...