Una soluzione semplice è attraversare l'albero binario e trovare i percorsi dal nodo radice a entrambi i nodi. Quindi confronta i percorsi per trovare l'ultimo nodo antenato comune. L'algoritmo può essere definito in modo ricorsivo come segue: FindFirstCommonAncestor(nodeA, nodeB): – Trova il percorso dalla radice al nodoA e memorizzalo in un vettore o in un array. – Trova il percorso dalla radice al nodoB e memorizzalo in un altro vettore o array. – Percorri entrambi i percorsi all'indietro e trova il primo nodo diverso. Il nodo prima di questo nodo è il primo antenato comune.
generare un algoritmo per trovare il primo antenato comune di due nodi in un albero binario.