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