class Nodo:
def __init__(self, valor):
self.valor = valor
self.izquierda = None
self.derecha = None
def altura_arbol(raiz):
if not raiz:
return 0
return 1 + max(altura_arbol(raiz.izquierda), altura_arbol(raiz.derecha))
# Ejemplo de uso
if __name__ == "__main__":
raiz = Nodo(1)
raiz.izquierda = Nodo(2)
raiz.derecha = Nodo(3)
raiz.izquierda.izquierda = Nodo(4)
raiz.izquierda.derecha = Nodo(5)
print(altura_arbol(raiz)) # Debería imprimir 3
Y2xhc3MgTm9kbzoKICAgIGRlZiBfX2luaXRfXyhzZWxmLCB2YWxvcik6CiAgICAgICAgc2VsZi52YWxvciA9IHZhbG9yCiAgICAgICAgc2VsZi5penF1aWVyZGEgPSBOb25lCiAgICAgICAgc2VsZi5kZXJlY2hhID0gTm9uZQoKZGVmIGFsdHVyYV9hcmJvbChyYWl6KToKICAgIGlmIG5vdCByYWl6OgogICAgICAgIHJldHVybiAwCiAgICByZXR1cm4gMSArIG1heChhbHR1cmFfYXJib2wocmFpei5penF1aWVyZGEpLCBhbHR1cmFfYXJib2wocmFpei5kZXJlY2hhKSkKCiMgRWplbXBsbyBkZSB1c28KaWYgX19uYW1lX18gPT0gIl9fbWFpbl9fIjoKICAgIHJhaXogPSBOb2RvKDEpCiAgICByYWl6Lml6cXVpZXJkYSA9IE5vZG8oMikKICAgIHJhaXouZGVyZWNoYSA9IE5vZG8oMykKICAgIHJhaXouaXpxdWllcmRhLml6cXVpZXJkYSA9IE5vZG8oNCkKICAgIHJhaXouaXpxdWllcmRhLmRlcmVjaGEgPSBOb2RvKDUpCgogICAgcHJpbnQoYWx0dXJhX2FyYm9sKHJhaXopKSAgIyBEZWJlcsOtYSBpbXByaW1pciAzCg==