Created
August 7, 2019 16:09
-
-
Save parzibyte/5de0f2bab8b52c694021eee41a0812f4 to your computer and use it in GitHub Desktop.
This file contains bidirectional Unicode text that may be interpreted or compiled differently than what appears below. To review, open the file in an editor that reveals hidden Unicode characters.
Learn more about bidirectional Unicode characters
int esPalindromoRecursivo(char * cadena, int indiceInicio, int indiceFin) { | |
// Si llegamos hasta aquí es porque ya sólo queda un carácter, | |
// y por lo tanto no se puede comparar con otro | |
// Esto también comprueba si la cadena tiene uno o menos caracteres | |
if (indiceInicio >= indiceFin) return 1; | |
// Sólo para explicar la comparación que se hace | |
printf("Comparando %c con %c\n", cadena[indiceInicio], cadena[indiceFin]); | |
// Si no, entonces comparamos el primer y último carácter | |
if (cadena[indiceInicio] == cadena[indiceFin]) { | |
// En caso de que sí, vamos por buen camino. Ahora cortamos la cadena desde inicio + 1 hasta fin - 1 | |
return esPalindromoRecursivo(cadena, indiceInicio + 1, indiceFin - 1); | |
} else { | |
// Si no eran iguales los carácteres al inicio y fin, entonces desde ahí se termina la recursión | |
// y se regresa 0 | |
return 0; | |
} | |
} |
Sign up for free
to join this conversation on GitHub.
Already have an account?
Sign in to comment