[lintcode]87.删除二叉查找树的节点

描述:

给定一棵具有不同节点值的二叉查找树,删除树中与给定值相同的节点。如果树中没有相同值的节点,就不做任何处理。你应该保证处理之后的树仍是二叉查找树。

代码:

public TreeNode removeNode(TreeNode root, int value) {
        if (root == null){
            return null;
        }
        if (root.val == value){//当前节点值等于value值
            if (root.left == null && root.right == null){//当前节点没有左右孩子节点
                root = null;
            } else if (root.left == null){//当前节点只有右孩子节点
                root = root.right;
            } else if (root.right == null){//当前节点只有左孩子节点
                root = root.left;
            } else {//当前节点有左右孩子节点
                TreeNode tmp = root;
                tmp = tmp.left;
                while(tmp.right != null){
                    tmp = tmp.right;
                }
                root.val = tmp.val;
                root.left = removeNode(root.left,root.val);
            }
        } else if (value < root.val){//当前节点值大于value
            if (root.left == null){
                return root;
            }
            root.left = removeNode(root.left, value);
        } else {//当前节点值小于value
            if (root.right == null){
                return root;
            }
            root.right = removeNode(root.right,value);
        }
        return root;
    }

补充TreeNode类的定义

public class TreeNode {
      public int val;
      public TreeNode left, right;
      public TreeNode(int val) {
          this.val = val;
          this.left = this.right = null;
      }
  }
最后编辑于
©著作权归作者所有,转载或内容合作请联系作者
【社区内容提示】社区部分内容疑似由AI辅助生成,浏览时请结合常识与多方信息审慎甄别。
平台声明:文章内容(如有图片或视频亦包括在内)由作者上传并发布,文章内容仅代表作者本人观点,简书系信息发布平台,仅提供信息存储服务。

相关阅读更多精彩内容

  • 前言 紧接前面说过的 二叉树的实现 和 二叉树的遍历,今天来说一下用javascript实现二叉树的查找和节点删除...
    issac_宝华阅读 4,263评论 3 10
  • 树的概述 树是一种非常常用的数据结构,树与前面介绍的线性表,栈,队列等线性结构不同,树是一种非线性结构 1.树的定...
    Jack921阅读 4,765评论 1 31
  • 姓名: 李小娜 [嵌牛导读] :这篇文章主要介绍了Java二叉排序树,包括二叉排序树的定义、二叉排序树的性质、二叉...
    n184阅读 721评论 0 0
  • 原文出处:http://www.cnblogs.com/maybe2030/p/4715035.html引文出处:...
    明教de教主阅读 9,315评论 0 7
  • ▌:迷迷糊糊地,自己好像是醒了吧 昨晚写备忘录上的,醒来伸个懒腰可以打起精神 还是一动也不想动,眼睛迟迟没有睁开 ...
    馊主意阅读 996评论 0 0

友情链接更多精彩内容