Generare un algoritmo per trovare il primo antenato comune di due nodi in un albero binario.
Una soluzione semplice è attraversare l'albero binario e trovare i percorsi dal nodo radice a entrambi i nodi. Quindi confrontare i percorsi per trovare l'ultimo nodo antenato comune. L'algoritmo può essere definito ricorsivamente come segue:

FindFirstCommonAncestor(nodoA, nodoB):
- Trova il percorso dalla radice al nodoA e memorizzalo in un vettore o array.
- Trova il percorso dalla radice al nodoB e memorizzalo in un altro vettore o array.
- Attraversa entrambi i percorsi all'indietro e trova il primo nodo diverso. Il nodo precedente a questo nodo è il primo antenato comune.