Escriba una función recursiva que invierta la cadena de entrada
He estado leyendo el libro C ++ para todos y uno de los ejercicios decía escribir una funciónstring reverse(string str)
donde el valor de retorno es el reverso destr
.
¿Alguien puede escribir algún código básico y explicármelo? He estado mirando esta pregunta desde ayer y no puedo resolverlo. Lo más lejos que he llegado es que la función devuelva la primera letra destr
(Que todavía no sé cómo sucedió)
Esto es lo que llegué (una hora después de publicar esta pregunta):
string reverse(string str)
{
string word = "";
if (str.length() <= 1)
{
return str;
}
else
{
string str_copy = str;
int n = str_copy.length() - 1;
string last_letter = str_copy.substr(n, 1);
str_copy = str_copy.substr(0, n);
word += reverse(str_copy);
return str_copy;
}
return word;
}
Si entro en "Wolf", devuelve Wol. Alguien me ayude aquí si yoreturn word
en lugar dereturn str_copy
entonces obtengo unw
Si yoreturn last_letter
entonces recibo unl