目录

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

题目:

题解:

java 复制代码
class Solution {
    public TreeNode deleteNode(TreeNode root, int key) {
        TreeNode cur = root, curParent = null;
        while (cur != null && cur.val != key) {
            curParent = cur;
            if (cur.val > key) {
                cur = cur.left;
            } else {
                cur = cur.right;
            }
        }
        if (cur == null) {
            return root;
        }
        if (cur.left == null && cur.right == null) {
            cur = null;
        } else if (cur.right == null) {
            cur = cur.left;
        } else if (cur.left == null) {
            cur = cur.right;
        } else {
            TreeNode successor = cur.right, successorParent = cur;
            while (successor.left != null) {
                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 == null) {
            return cur;
        } else {
            if (curParent.left != null && curParent.left.val == key) {
                curParent.left = cur;
            } else {
                curParent.right = cur;
            }
            return root;
        }
    }
}
本文是转载文章,点击查看原文
如有侵权,请联系 xyy@jishuzhan.net 删除
相关推荐
可乐加.糖7 分钟前
腾讯云K8s容器部署SpringBoot项目实现方案
java·spring boot·容器·kubernetes·k8s·腾讯云
不断前进的皮卡丘18 分钟前
06-公寓租赁项目-后台管理-公寓管理篇
java·开发语言·数据库·spring boot
luoluoal21 分钟前
Java项目之基于ssm的个性化旅游攻略定制系统(源码+文档)
java·mysql·mybatis·ssm·源码
永无魇足27 分钟前
JAVASE(十五)正则表达式
java
天狼122230 分钟前
java 正则表达式优化
java·mysql·正则表达式
顾林海1 小时前
深度解析LinkedList工作原理
android·java·面试
茶本无香1 小时前
CompletableFuture:整合、超时、完成事件与批量处理
java·超时·future·completable·completion·任务整合
雷渊1 小时前
分析@Autowired和@Resource的使用场景
java·后端·面试
whisperrr.1 小时前
【spring02】Spring 管理 Bean-IOC,基于 XML 配置 bean
xml·java·spring
Cloud_.1 小时前
Spring Boot整合Elasticsearch
java·spring boot·后端·elasticsearch·es