leetcode每日一题复盘(10.23~10.29)

news2024/11/19 1:28:21

leetcode 450 删除二叉搜索树中的节点 

见到二叉搜索树第一时间就应该想起用中序遍历,知道中序遍历之后接下来想如何删除节点了(左右遍历根据节点大小决定向左向右移动)

遍历找不到目标节点,就不用进行操作直接返回根节点就好了

当遍历找到要删除的节点(root)时,根据子树情况进行分类处理:

1.左右子树都为空:

这种情况直接返回nullptr就可以了,因为删除节点相当于把节点变为空

2.左子树空右子树不为空

这种情况把要删除节点直接赋值成他的右子树即可,相当于删除了root节点,也可以直接返回右子树

3.右子树空左子树不为空

这种情况同上一种一样,本质是返回新节点

4.左右子树都存在

这种情况需要把右子树的第一个节点的位置顶上到原来节点root的位置,而左子树应该接在右子树的最左边,返回右子树的第一个节点


再一次讲回有返回值的递归:

如果递归是有返回值的(非bool型),那么在递归的时候必然是有变量来承接递归的返回值的

因此设计递归的时候用变量来接返回值

如果是返回bool型的递归,可以用if条件来判断,这种情况一般是查找一条符合条件的路径

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

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

相关文章

MES管理系统的生产模块与ERP有何差异

随着信息化技术的不断发展,企业对于生产管理系统的要求也日益提高。MES生产管理系统和ERP系统都是企业生产管理的重要工具,而它们的生产模块存在一些差异。 首先,MES管理系统的生产模块更加注重于生产过程的实时管理和控制。它可以通过数据采…

我试图扯掉这条 SQL 的底裤。只能扯一点点,不能扯多了

之前不是写分页嘛,分页肯定就要说到 limit 关键字嘛。 然后我啪的一下扔了一个链接出来: https://dev.mysql.com/doc/refman/8.0/en/limit-optimization.html 这个链接就是 MySQL 官方文档,这一章节叫做“对 Limit 查询的优化”,针对 limit 和 order by 组合的场景进行了较…

如何提高广告投放转化率?Share Creators 资产库与Appsflyer营销数据的全面结合

如何提高广告投放转化率?Share Creators 资产库与Appsflyer营销数据的全面结合 全球经济进入了低迷期。 营销成本越来越高, 营销需要更务实,注重投入产出比。众所周知,除了渠道、客群画像以外, 优秀的广告设计图&#…

Cesium冷知识:Sandcastle新增示例组

Cesium.js的SandCastle中有很多示例 他们根据不同类型分为不同的组 在cesium.js的源码中&#xff0c;把示例的 <meta content"自己定义新的组名">值改为自定义的组名 然后执行npm run build&#xff0c;就可以创建出一个新的组 这种方法在下面这些Cesium.js版…

c语言进阶部分详解(详细解析自定义类型——结构体,内存对齐,位段)

上篇文章介绍了一些常用的字符串函数&#xff0c;大家可以去我的主页进行浏览。 各种源码大家可以去我的github主页进行查找&#xff1a;Nerosts/just-a-try: 学习c语言的过程、真 (github.com) 今天要介绍的是&#xff1a;结构体的相关内容 目录 一.结构体类型的声明 1.…

Jmeter之处理session、cookie以及如何做关联

session和cookie的概念 按照我的理解就是&#xff1a; cookie保持你访问的权限信息。 session限制你访问权限信息的有效时间&#xff0c;一旦过期就不能在访问了&#xff0c;比如说我们经常遇到了&#xff0c;很长一段时间网页没有去操作&#xff0c;就会自动退出登陆。你要…

ZooKeeper下载、安装、配置和使用

天行健&#xff0c;君子以自强不息&#xff1b;地势坤&#xff0c;君子以厚德载物。 每个人都有惰性&#xff0c;但不断学习是好好生活的根本&#xff0c;共勉&#xff01; 文章均为学习整理笔记&#xff0c;分享记录为主&#xff0c;如有错误请指正&#xff0c;共同学习进步。…

node-red常用包分析

node-red-contrib-opcua Use OpcUa-Item to define variables. Use OpcUa-Client to read / write / subscribe / browse OPC UA server. 需要想通过OpcUa-Item节点来指定一个数据点。 触发器-->opcua_item----->opcua_client opcua_client的Action项解析&#xff1a; …

LVS负载均衡集群+NAT部署

集群的概念和目的 集群的定义 Cluster&#xff0c;集群&#xff08;也称群集&#xff09;由多台主机构成&#xff0c;但对外只表现为一一个整体&#xff0c;只提供一-个访问入口(域名或IP地址)&#xff0c; 相当于一台大型计算机。 集群的作用 对于企业服务的的性能提升一般…

感觉真的要被淘汰了,工作3年,不懂自动化,看着公司的新员工都是自动化岗....

这两天和朋友谈到软件测试的发展&#xff1a;这一行的变化确实蛮大&#xff0c;从开始最基础的功能测试&#xff0c;到现在自动化、性能、安全乃至于以后可能出现的大数据测试、AI测试岗位需求逐渐增多。我也在软件测试这行摸爬滚打了十年了&#xff0c;正好有朋友问我&#xf…

最全面的msvcp140_atomic_wait.dll丢失的解决方法,教你怎么快速修复dll文件

在众多电脑使用者中&#xff0c;碰到过"msvcp140_atomic_wait.dll文件丢失"这样的问题的人并不鲜见。突如其来的错误提示常让人感到困扰&#xff0c;但无需过于焦虑&#xff0c;因为这类问题多数都有成熟的解决方案。在这篇文章中&#xff0c;我们将深入探讨如何针对…

Codeforces Round #905(Div.3)

A. Morning 题目 给定4位数字码&#xff0c;每位数字取值0-9。排列顺序如下&#xff1a; 初始光标指向1&#xff0c;每次可执行其中一个操作 1、输出光标所指数字 2、移动光标到相邻位置上。如3可移动到2或4&#xff0c;其中1只能移动到2&#xff0c;0只能移动到9。 问&…

离线电商数仓(一)

一、数据仓库概述 1. 数据仓库 数据仓库是一个为数据分析而设计的企业级数据管理系统。数据仓库可集中、整合多个数据源的大量数据&#xff0c;企业可以从数据仓库中获取宝贵数据进行决策。 数据分类&#xff1a;业务数据、日志数据 将这两种数据从业务系统采集到Hive中&…

(yum+内网)centos7两种方式安装jdk11

一、yum在线安装 需要提前配置yum源。 搜索可安装的版本&#xff0c;可以看到有1.6、1.7、1.8、11共4个版本 yum search openjdk 安装jdk11 yum -y install java-11-openjdk 验证 java -version 二、内网离线安装 需要提前下载安装包。 安装包下载地址 https://www.or…

爬虫一般采用什么代理IP,Python爬虫代理IP使用方法详解

在进行网络爬虫开发时&#xff0c;使用代理IP是一种常见的技术手段&#xff0c;可以帮助爬虫程序实现更高效、稳定和隐秘的数据抓取。本文将介绍爬虫一般采用的代理IP类型&#xff0c;并详细解释Python爬虫中使用代理IP的方法。 一般来说&#xff0c;爬虫采用以下几种代理IP类型…

类模板Array带二个模板参数

#include <ostream> #include <iostream> using namespace std; //Array.h template <typename T, int size> class Array{ public: Array(); // 也算是默认构造函数&#xff0c;因为不需要传进去参数 bool push(T elem); void display(); priv…

Nacos全面知识 ----微服务 SpringCloud

快速入门 分级存储模型 修改集群配置 Nacos设置负载均衡策略 集群优先 权重优先 Nacos热更新配置 Nacos添加配置信息 微服务配置拉取 热更新:推荐使用第二种方法进行热部署 ConfigurationProperties(prefix "pattern") 是 Spring Boot 中用于自动配置属性的注解。它…

用“价值”的视角来看安全:《构建新型网络形态下的网络空间安全体系》

文章目录 写在前面安全认知的硬核概念威胁的演化路径与发展趋势构建网络空间安全体系好书推荐 写作末尾 写在前面 网络空间安全体系是建立在先进技术、严密监控和综合策略之上的综合性框架&#xff0c;旨在保护网络免受恶意攻击、数据泄露和网络犯罪的威胁&#xff0c;其核心包…

【代码随想录第48天】动态规划7

代码随想录第48天| 动态规划7 322. 零钱兑换279.完全平方数 322. 零钱兑换 LeetCode题目&#xff1a; 322. 零钱兑换 代码随想录&#xff1a;322. 零钱兑换 给你一个整数数组 coins &#xff0c;表示不同面额的硬币&#xff1b;以及一个整数 amount &#xff0c;表示总金额。 计…

Failed to start The nginx HTTP and reverse proxy server.

本章教程主要分享一下&#xff0c;当nginx 启动时&#xff0c;遇到报这个错误时的一个解决问题思路。 目录 1、观察报错信息 2、尝试性解决 1、观察报错信息 根据日志的信息&#xff0c;我们至少可以知道2个比较信息。 1、操作用户执行命令是在非root权限下进行操作的。 2、Ad…