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

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

题目:

题解:

struct TreeNode* deleteNode(struct TreeNode* root, int key){
    struct TreeNode *cur = root, *curParent = NULL;
    while (cur && cur->val != key) {
        curParent = cur;
        if (cur->val > key) {
            cur = cur->left;
        } else {
            cur = cur->right;
        }
    }
    if (!cur) {
        return root;
    }
    if (!cur->left && !cur->right) {
        cur = NULL;
    } else if (!cur->right) {
        cur = cur->left;
    } else if (!cur->left) {
        cur = cur->right;
    } else {
        struct TreeNode *successor = cur->right, *successorParent = 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) {
        return cur;
    } else {
        if (curParent->left && curParent->left->val == key) {
            curParent->left = cur;
        } else {
            curParent->right = cur;
        }
        return root;
    }
}

http://www.kler.cn/news/330875.html

相关文章:

  • java将mysql表结构写入到word表格中
  • 小程序-全局数据共享
  • 【Linux系统编程】权限
  • 广联达 Linkworks办公OA Service.asmx接口存在信息泄露漏洞
  • LeetCode 704. 二分查找
  • 2024年09月CCF-GESP编程能力等级认证C++编程一级真题解析
  • @antv/x6 嵌入结点到父节点中时,进行检测,查看当前节点是否是父结点,如果是父结点,不可以嵌入到父结点中,实现方法一。
  • 【AIGC】内容创作——AI文字、图像、音频和视频的创作流程
  • PHP反序列化7(字符串逃逸)
  • 《OpenCV 计算机视觉》—— Harris角点检测、SIFT特征检测
  • 用systemd 来控制 qt 程序的启动, 停止 . 解决 qt.qpa.xcb: could not connect to display 问题
  • 工程师 - 如何配置DNS服务器
  • 基于yolov8调用本地摄像头并将读取的信息传入jsonl中
  • SpringBoot框架下的社区医院信息系统开发
  • Stream流的终结方法(二)——collect
  • 2024大二上js高级+ES6学习9.29(深/浅拷贝,正则表达式,let/const,解构赋值,箭头函数,剩余参数)
  • 并集运算的线段树维护方式
  • c++就业磁盘链式b树与b+树
  • 3. 将GitHub上的开源项目导入(clone)到本地pycharm上——深度学习·科研实践·从0到1
  • 滚雪球学MySQL[7.1讲]:安全管理