En este programa, aprenderá a revertir una oración determinada mediante un ciclo recursivo en Kotlin.
Ejemplo: invertir una oración mediante recursividad
fun main(args: Array) ( val sentence = "Go work" val reversed = reverse(sentence) println("The reversed sentence is: $reversed") ) fun reverse(sentence: String): String ( if (sentence.isEmpty()) return sentence return reverse(sentence.substring(1)) + sentence(0) )
Cuando ejecute el programa, la salida será:
La oración invertida es: krow oG
En el programa anterior, tenemos una función recursiva reverse().
En cada iteración, agregamos (concatenamos) el resultado de la siguiente reverse()función al primer carácter de la oración usando charAt(0).
La llamada recursiva debe estar antes de charAt(), porque de esa manera los últimos caracteres comenzarán a agregarse al lado izquierdo. Si inviertes el orden, terminarás con la oración original.
Al final, terminamos con una oración vacía y reverse()devuelve la oración invertida.
| Iteración | marcha atrás() | subcadena () | reversedString |
|---|---|---|---|
| 1 | reverse ("Ir a trabajar") | "o trabajo" | resultado + "G" |
| 2 | reverso ("o trabajo" | " Trabajo" | resultado + "o" + "G" |
| 3 | reverso ("trabajo") | "Trabajo" | resultado + "" + "o" + "G" |
| 4 | reverso ("trabajo") | "ork" | resultado + "W" + "" + "o" + "G" |
| 5 | reverso ("ork") | "rk" | resultado + "o" + "W" + "" + "o" + "G" |
| 6 | reverso ("rk") | "k" | resultado + "r" + "o" + "W" + "" + "o" + "G" |
| 7 | reverso ("k") | "" | resultado + "k" + "r" + "o" + "W" + "" + "o" + "G" |
| Final | marcha atrás("") | - | "" + "k" + "r" + "o" + "W" + "" + "o" + "G" = "kroW oG" |
Aquí está el código Java equivalente: Programa Java para invertir una oración








