我的程序需要删除BST操作

问题描述

package com.Binary_Search_Tree;

public class HackerRank 
{
    HackerRank left,right;
    int data;
    
    public HackerRank(int data)
    {
        this.data = data;
    }
    
    public void insert(int value)
    {
        if (value <= data) 
        {
            if (left == null) {
                left = new HackerRank(value);
            }else {
                left.insert(value);
            }
        }
        else 
        {
            if (right == null) {
                right = new HackerRank(value);
            }else {
                right.insert(value);
            }
        }
    }

}

删除操作中,我可以使用该值,但是由于其为整数值,因此无法将其设置为null。任何人都可以提出更适合我的代码的建议。

解决方法

您可以保留data字段,删除leftright引用以及指向您要删除的对象的其他引用就足够了。