Exemple #1
0
        public IActionResult crearArbol(CrearArbol crearArbol)
        {
            var nodoRaiz = arbolRepo.createArbol(crearArbol);

            if (nodoRaiz != null)
            {
                return(Ok(nodoRaiz));
            }
            return(BadRequest());
        }
        public Nodo arbolaBuscar(CrearArbol crearArbol)
        {
            if (crearArbol == null)
            {
                return(null);
            }
            Nodo nodoRaiz = new Nodo(crearArbol.nodeValues[0]); // Nodo Inicial

            foreach (var nodeValue in crearArbol.nodeValues.Skip(1))
            {
                insertNodo(nodoRaiz, nodeValue);
            }
            return(nodoRaiz);
        }
        public int LowestCommonAncestor(LowestCommonAncestor lowestCommonAncestor)
        {
            CrearArbol arbol = new CrearArbol()
            {
                nodeValues = lowestCommonAncestor.nodeValues
            };
            Nodo nodoRaiz = arbolaBuscar(arbol);
            Nodo lcaValue = FindLca(nodoRaiz, lowestCommonAncestor.valueOne, lowestCommonAncestor.valueTwo);

            if (lcaValue == null)
            {
                return(0);
            }
            return(lcaValue.nodeValue);
        }