Necesito arreglar mi código de eliminar nodo en árbol binario (java) es urgente por favor ayuda
este en mi código si alguien lo puede revisar y decirme porque no funciona se lo agradecería un millón, es solo eliminar por que lo demás esta bueno
public boolean baja(int dat)
{
nodo actual=raíz, anterior=raíz, temp;
while(true)
{
if(actual==null) {
break;
}
if(actual.getDato()==dat) {
break;
}
anterior=actual;
if(actual.getDato()<dat) {
actual=actual.getDer();
}
else {
actual=actual.getDer();
}
}
if(actual==null) {
return false;
}
else
{
if(actual==raíz)
{
temp=actual.getIzq();
raíz=raíz.getDer();
anterior=raíz;
}
else
if (anterior.getDer() == actual)
{
temp=actual.getIzq();
anterior=actual.getDer();
}
else
{
temp=actual.getIzq();
anterior.setDer(actual.getIzq());
}
actual=new nodo();
while(actual.getIzq()!=null) {
actual=actual.getIzq();
}
actual.setIzq(temp);
return true;
}
}