二分探索ツリーの削除メソッドを書いていますが、完全ではありませんが、削除したいノードが葉である場合を少なくともテストできるように、ツリーを埋めましたが、そうではないようです働く。私のロジックに明らかなエラーはありますか?
public void delete(E d)
{
delete( d, root);
}
private void delete( E d, Node<E> T)
{
if(T == null)
{
return;
}
else if(d.equals(T.getData()))
{
System.out.println("it found the node at least");
if(T.getRight() == null && T.getLeft() == null)
{
T.setData(null);
}
//do alot)
}
else if(d.compareTo(T.getData()) > 0)
{
System.out.println("going right");
delete(d, T.getRight());
}
//s is less than T, insert on left subtree
else
{System.out.println("going left");
delete(d,T.getLeft());
}
}