Desafío C++

❓ ¿Qué hace esta función recursiva?

▶️ Este video puede ayudarte a entender la recursividad

Click aquí para desplegar la solución. 👈
Respuesta: "!ovisrucer omtirogla nu se etsE"
 
✏️ Explicación: La función recibe un string y lo retorna invertido. Si es vacío o tiene 1 solo carácter, retorna el mismo string, sin modificaciones.
 

Solución al desafío



Desafío C++ 👇

desafío C++ número 5

Click aquí para una versión accesible de la infografía (apta para lectores electrónicos)
 

Código:

string rev(string cadena) {
    int len=cadena.length();
    if (len==0 or len==1)
        return cadena;
    else
        if (len==2) {
            string res = "";
            return res+cadena[1]+cadena[0];
        }
        else {
            char primero=cadena[0];
            char ultimo=cadena[len-1];
            string interior=cadena.substr(1, len-2);
            return ultimo+rev(interior)+primero;
        }
}

¿Qué retorna la función ante la siguiente invocación?

rev("Este es un algoritmo recursivo!")