力扣450,删除二叉搜索树中的节点

news/2024/9/22 11:11:45/

450. 删除二叉搜索树中的节点 - 力扣(LeetCode)

/*** 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 deleteNode(TreeNode root, int key) {//终止条件,找到要删除的节点就是要终止了,在终止递归的时候进行相应节点的处理if(root == null) return null;if(root.val==key){//左右孩子都为空if(root.left==null && root.right==null){return null;}//左孩子为空,右不空else if(root.left==null&&root.right!=null){return root.right;}//左不空,右空else if(root.left!=null&&root.right==null){return root.left;}//左右孩子都不空else{//让右孩子接班TreeNode cur = root.right;TreeNode pre = root.left;//把删除节点的左孩子放在右孩子的最最左下while(cur.left!=null){cur = cur.left;}cur.left = pre;return root.right;}}//递归逻辑if(root.val > key){root.left = deleteNode(root.left,key);}else if(root.val < key){root.right = deleteNode(root.right,key);}return root;}
}


http://www.ppmy.cn/news/1462636.html

相关文章

Python基于PyQt6制作GUI界面——单、多行文本输入

当涉及到 Qt 框架中的 QLineEdit 和 QTextEdit 控件时&#xff0c;它们是两种不同类型的文本输入/编辑控件&#xff0c;具有不同的用途和功能。 1、QLineEdit QLineEdit 是一个单行文本输入控件&#xff0c;用于接收和显示单行文本。它通常用于接收用户的输入&#xff0c;如用…

前端更改线上请求地址

由于后台接口更改 , 线上请求地址需从 /api/api/ 改成 /api/ , 需实现的效果如下图 1 在原本的vite.config.js中将前端做的端口转发内容更改 , 更改一行即可 import { defineConfig } from vite import react from vitejs/plugin-react import path from path import * as fs …

如何解决vcruntime140.dll丢失问题,详细介绍5种靠谱的解决方法

vcruntime140.dll是Microsoft Visual C Redistributable Package的一部分&#xff0c;它为使用Visual C编译器开发的应用程序提供必要的运行时环境。该DLL文件包含了大量应用程序运行时需要调用的库函数&#xff0c;这些函数是实现C标准库、异常处理机制、RTTI&#xff08;运行…

C++进阶:C++11(列表初始化、右值引用与移动构造移动赋值、可变参数模版...Args、lambda表达式、function包装器)

C进阶&#xff1a;C11(列表初始化、右值引用与移动构造移动赋值、可变参数模版…Args、lambda表达式、function包装器) 今天接着进行语法方面知识点的讲解 文章目录 1.统一的列表初始化1.1&#xff5b;&#xff5d;初始化1.2 initializer_listpair的补充 2.声明相关关键字2.1a…

PHP8.0 match函数

match 表达式是 PHP 8.0 引入的一个新的控制结构&#xff0c;它提供了一种简洁且更强大的方式来进行条件匹配。与 switch 语句相比&#xff0c;match 表达式具有以下优势&#xff1a; 返回值&#xff1a;match 是一个表达式&#xff0c;它会返回一个值。严格比较&#xff1a;m…

mysql-orchestrator(一)配置

一、配置 orcherstrator的配置涉及到很多的内容&#xff0c;详细可查看官方文档1&#xff0c;官方文档2&#xff0c;下面所说的一些状态的详细解释也可以查看官网 1.后端配置 让orchestrator知道在哪里可以找到后端数据库。在此设置中&#xff0c;orchestrator将在3000端口上…

学校上课,是耽误我学习了。。

>>上一篇&#xff08;文科生在三本院校&#xff0c;读计算机专业&#xff09; 2015年9月&#xff0c;我入学了。 我期待的大学生活是多姿多彩的&#xff0c;我会参加各种社团&#xff0c;参与各种有意思的活动。 但我是个社恐&#xff0c;有过尝试&#xff0c;但还是难…

Mokito的一些API

Mockito是一个Java单元测试框架&#xff0c;它允许开发者创建和配置模拟对象&#xff08;mock objects&#xff09;&#xff0c;以便在隔离的环境中测试代码&#xff0c;尤其是当实际对象难以构造或其行为不确定时。下面是一些核心的Mockito API及其使用场景和代码示例。 基础…