Comprobar Si Una Cadena Es Un Palíndromo Usando Recursividad En C#

En este programa de C#, el objetivo es escribir una función recursiva que compruebe si una cadena dada es un palíndromo (simétrico). Un palíndromo es una palabra, frase o secuencia que se lee igual al revés que al derecho. Por ejemplo, la palabra "RADAR" es un palíndromo porque permanece igual al invertirse. El programa utiliza la recursión para comparar los caracteres de ambos extremos de la cadena, garantizando que sean iguales, ya que reduce el tamaño del problema con cada llamada recursiva.



Grupo

Funciones en C#

Objectivo

1. Implemente una función recursiva para comprobar si una cadena es simétrica (un palíndromo).
2. La función debe comparar el primer y el último carácter de la cadena.
3. Si coinciden, compruebe recursivamente la parte interna de la cadena llamando a la función en una subcadena.
4. Si los caracteres no coinciden, devuelva falso.
5. El caso base de la recursión debe ser cuando la cadena tiene una longitud de 1 o 0, que es, trivialmente, un palíndromo.

Escriba una función recursiva en C# para determinar si una cadena es simétrica (un palíndromo). Por ejemplo, "RADAR" es un palíndromo.

Ejemplo de ejercicio en C#

 Copiar código C#
using System;

class Program
{
    // Function to check if a string is a palindrome using recursion
    static bool IsPalindrome(string str)
    {
        // Base case: If the string has 0 or 1 character, it's a palindrome
        if (str.Length <= 1)
        {
            return true;
        }

        // Check if the first and last characters are the same
        if (str[0] != str[str.Length - 1])
        {
            return false; // Return false if characters don't match
        }

        // Recursively check the inner substring
        return IsPalindrome(str.Substring(1, str.Length - 2));
    }

    static void Main()
    {
        // Test the IsPalindrome function with the string "RADAR"
        string testString = "RADAR";
        if (IsPalindrome(testString))
        {
            Console.WriteLine($"{testString} is a palindrome.");
        }
        else
        {
            Console.WriteLine($"{testString} is not a palindrome.");
        }

        // Test the IsPalindrome function with a string that is not a palindrome
        testString = "HELLO";
        if (IsPalindrome(testString))
        {
            Console.WriteLine($"{testString} is a palindrome.");
        }
        else
        {
            Console.WriteLine($"{testString} is not a palindrome.");
        }
    }
}

 Output

RADAR is a palindrome.
HELLO is not a palindrome.

Comparte este ejercicio de C#

Practica más ejercicios C# de Funciones en C#

¡Explora nuestro conjunto de ejercicios de práctica de C#! Diseñados específicamente para principiantes, estos ejercicios te ayudarán a desarrollar una sólida comprensión de los fundamentos de C#. Desde variables y tipos de datos hasta estructuras de control y funciones simples, cada ejercicio está diseñado para desafiarte gradualmente a medida que adquieres confianza en la programación en C#..