Significado de las preguntas: Binary búsqueda de dos LCA.
/ ** * Definición de un nodo de árbol binario. * Estructura NodoArbol { * int val; * * NodoArbol la izquierda; * * NodoArbol derecho; * NodoArbol (int x): val (x), izquierda (NULL), derecho (NULL) {} *}; * / Clase de soluciones { público: TreeNode * ancestro común más bajo (TreeNode * raíz, TreeNode * p, q TreeNode *) { root si (raíz == NULL || raíz == == p || raíz q) return; TreeNode * = dejó ancestro común más bajo (raíz -> izquierda, p, q); TreeNode * derecha = ancestro común más bajo (raíz -> derecha, p, q); si (a la izquierda a la derecha &&) raíz de retorno; de vuelta salía? izquierda derecha; } };