Python | Leetcode Python题解之第450题删除二叉搜索树中的节点

news2024/11/18 3:28:07

题目:

题解:

class Solution:
    def deleteNode(self, root: Optional[TreeNode], key: int) -> Optional[TreeNode]:
        cur, curParent = root, None
        while cur and cur.val != key:
            curParent = cur
            cur = cur.left if cur.val > key else cur.right
        if cur is None:
            return root
        if cur.left is None and cur.right is None:
            cur = None
        elif cur.right is None:
            cur = cur.left
        elif cur.left is None:
            cur = cur.right
        else:
            successor, successorParent = cur.right, cur
            while successor.left:
                successorParent = successor
                successor = successor.left
            if successorParent.val == cur.val:
                successorParent.right = successor.right
            else:
                successorParent.left = successor.right
            successor.right = cur.right
            successor.left = cur.left
            cur = successor
        if curParent is None:
            return cur
        if curParent.left and curParent.left.val == key:
            curParent.left = cur
        else:
            curParent.right = cur
        return root

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

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

相关文章

Linux学习笔记(四):组与权限、任务调度、磁盘管理、网络配置、进程管理

Linux学习笔记(四):组与权限、任务调度、磁盘管理、网络配置、进程管理 1. 组与权限 1.1 文件所有者 查看文件所有者: 使用 ls -ahl 或 ll 命令可以查看文件的详细信息,其中包括文件所有者。 修改文件所有者&…

基于SSM的定制衣服系统的设计与实现(定制衣服管理平台的设计与开发、智慧服装定制系统的设计与实现、定制衣服管理系统的设计与实现(源码+定制+参考文档)

博主介绍: ✌我是阿龙,一名专注于Java技术领域的程序员,全网拥有10W粉丝。作为CSDN特邀作者、博客专家、新星计划导师,我在计算机毕业设计开发方面积累了丰富的经验。同时,我也是掘金、华为云、阿里云、InfoQ等平台…

可视化图表与源代码显示配置项及页面的动态调整功能分析

可视化图表与源代码显示配置项及页面的动态调整功能分析 文章目录 可视化图表与源代码显示配置项及页面的动态调整功能分析1.分析图表源代码2.分析源代码显示功能**完整代码参考:** 3.分析源代码显示及动态调整**完整代码参考:** 4.分析代码编辑器及运行…

第1篇:Window日志分析----应急响应之日志分析篇

0x01 Window事件日志简介 Windows系统日志是记录系统中硬件、软件和系统问题的信息,同时还可以监视系统中发生的事件。用户可以通过它来检查错误发生的原因,或者寻找受到攻击时攻击者留下的痕迹。 Windows主要有以下三类日志记录系统事件:应…

一文彻底搞懂多模态 - 多模态理解+视觉大模型+多模态检索

文章目录 技术交流多模态理解一、图像描述1. 基于编码器-解码器的方法2. 基于注意力机制的方法3. 基于生成对抗网络的方法 二、视频描述三、视觉问答 视觉大模型一、通用图像理解模型二、通用图像生成模型 多模态检索一、单模态检索二、多模态检索三、跨模态检索 最近这一两周看…

ml sys

https://zhuanlan.zhihu.com/p/65242220 sys是为了ml落地:机器学习分为若干阶段:数据收集和标定,处理数据,特征工程,编写模型,训练模型,模型管理,模型部署,其实每个阶段…

【LeetCode: 1870. 准时到达的列车最小时速 | 二分】

🚀 算法题 🚀 🌲 算法刷题专栏 | 面试必备算法 | 面试高频算法 🍀 🌲 越难的东西,越要努力坚持,因为它具有很高的价值,算法就是这样✨ 🌲 作者简介:硕风和炜,…

Reality Expansion Vault:基于Vision Pro + AI的冥想应用

在当今快节奏的生活中,人们常常感到与精神原则脱节。为了帮助用户重新与深层的智慧和洞见建立联系,一款名为Reality Expansion Vault(现实扩展库)的应用应运而生。这款专为Apple Vision Pro设计的应用,通过增强现实技术将精神智慧嵌入用户的环境中,改变人们对世界的看法。…

应用于人形手机器人超小型HarmonicDrive哈默纳科减速机

人形手机器人需要高度的精准性和灵活性以完成各种复杂的任务。减速机的应用,为其提供了关键的动力传输和运动控制支持,它能够将电机的高速旋转转换为适合人形手机器人动作的低速高扭矩输出,确保机器人的动作平稳、准确。HarmonicDrive哈默纳科…

LabVIEW回转支承间隙自动化检测系统

开发了一种基于LabVIEW软件的回转支承间隙检测系统,通过高精度传感器和数据采集卡,自动化、高效地测量回转支承的轴向间隙和径向间隙,提高了检测精度和生产质量。以下是对系统的详细描述与应用案例分析,希望能为有类似需求的开发者…

房屋水电费:重新布局,重构JS代码

<!DOCTYPE html> <html lang"zh-CN"> <head><meta charset"UTF-8"><meta name"viewport" content"widthdevice-width, initial-scale1.0"><title>房租水电费</title><script type"…

Windows 环境安装配置 Python 保姆级教程

Python Python 是一种解释型、高级、通用的编程语言。它由 Guido van Rossum 于 1989 年底发明&#xff0c;并于 1991 年首次发布。Python 的设计哲学强调代码的可读性和简洁的语法&#xff08;尤其是使用空格缩进来表示代码块&#xff0c;而非使用大括号或关键词&#xff09;。…

利用PDLP扩展线性规划求解能力

每周跟踪AI热点新闻动向和震撼发展 想要探索生成式人工智能的前沿进展吗&#xff1f;订阅我们的简报&#xff0c;深入解析最新的技术突破、实际应用案例和未来的趋势。与全球数同行一同&#xff0c;从行业内部的深度分析和实用指南中受益。不要错过这个机会&#xff0c;成为AI领…

智慧产业城智能化总体解决方案

1. 智慧产业城项目概述 智慧产业城项目位于中国武汉高新区&#xff0c;旨在打造一个集高端住宅和商业写字楼于一体的智能化区域。项目规划净用地面积广阔&#xff0c;包含多栋超高层大楼、办公楼、酒店和公寓楼&#xff0c;预计引进众多企业&#xff0c;推动区域经济发展。 2…

搭建帮助中心:8款优质工具分享【2024年最新】

在当今数字化时代&#xff0c;优秀的客户服务已成为企业成功的关键因素之一。一个高效、易用的帮助中心不仅能够提升用户体验&#xff0c;还能有效降低客服成本&#xff0c;增强品牌忠诚度。为了帮助您搭建一个功能强大、内容丰富的帮助中心&#xff0c;我们精心挑选了8款优质工…

「重构:改善既有代码的设计」实战篇

前言 在软件开发的世界里&#xff0c;代码重构是提升项目质量、适应业务变化的关键步骤。最近&#xff0c;我重新翻阅了《重构&#xff1a;改善既有代码的设计 第二版》&#xff0c;这本书不仅重新点燃了我对重构的热情&#xff0c;还深化了我的理解&#xff1a;重构不仅仅是代…

ROM、RAM 和 Flash 的区别

目录 一、ROM二、RAM1、内存工作原理 三、Flash 在计算机的组成结构中&#xff0c;有一个很重要的部分&#xff0c;就是存储器。存储器是用来存储程序和数据的部件&#xff0c;对于计算机来说&#xff0c;有了存储器&#xff0c;才有记忆功能&#xff0c;才能保证正常工作。存储…

RocketMQ 消息示例-topic、broker、messagequeue

topic主题里面是会有一些队列的。 可以看到消费的消息来自于不同的broker。broker后面还带有queueid&#xff0c;可以看到brokera后面是带有四个队列。 同理brokerb也会有四条队列。 创建topic并没有指定创建在哪个broker上面。它会去创建在默认的broker cluster上面。 brokerC…

DataFlow 专业版 标准版奶牛管理系统软件

DataFlow 专业版 标准版奶牛管理系统软件特点&#xff1a;是一个控制挤奶和奶牛监测的综合管理系统&#xff0c;能够通过挤奶设备等进行信息采集&#xff0c;生成报告、图表、分析、任务列表和终生奶牛卡历史等。该系统还可以控制和支持分群门、饲喂系统和称重系统等奶厅相关组…

嵌入向量生成与查询

嵌入向量生成与查询 文本嵌入模型 M3E 是 Moka Massive Mixed Embedding 的缩写 Moka&#xff0c;此模型由 MokaAI 训练&#xff0c;开源和评测&#xff0c;训练脚本使用 uniem&#xff0c;评测 BenchMark 使用 MTEB-zh Massive&#xff0c;此模型通过千万级 (2200w) 的中文句…