Su código trabajaría correctamente si el árbol seguiría siendo equilibrado después de la canceladura. La causa principal de su problema se explica abajo:
Aquí está la sub-estructura izquierda después de que usted quite el nodo con el valor 10.
14
/\
3 12
/\ \
1 4 13
Si queremos encontrar el nodo con el valor 12, según su código los 12 se compara con 14. Si los 12 <� 14="">para solucionar el problema usted mantienen el árbol balanceado.