Programma Kotlin per invertire una frase usando la ricorsione

In questo programma imparerai a invertire una determinata frase usando un ciclo ricorsivo in Kotlin.

Esempio: invertire una frase usando la ricorsione

 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) )

Quando esegui il programma, l'output sarà:

 La frase al contrario è: krow oG

Nel programma sopra, abbiamo una funzione ricorsiva reverse().

Ad ogni iterazione, aggiungiamo (concateniamo) il risultato della reverse()funzione successiva al primo carattere della frase usando charAt(0).

La chiamata ricorsiva deve essere prima di charAt(), perché in questo modo gli ultimi caratteri inizieranno ad aggiungersi a sinistra. Se inverti l'ordine, ti ritroverai con la frase originale.

Alla fine, finiamo con una frase vuota e reverse()restituiamo la frase invertita.

Fasi di esecuzione
Iterazione inversione() sottostringa () reversedString
1 reverse ("Vai a lavorare") "o Lavoro" risultato + "G"
2 reverse ("o Work" " Lavoro" risultato + "o" + "G"
3 reverse ("Work") "Lavoro" risultato + "" + "o" + "G"
4 reverse ("Work") "ork" risultato + "W" + "" + "o" + "G"
5 inverso ("ork") "rk" risultato + "o" + "W" + "" + "o" + "G"
6 reverse ("rk") "K" risultato + "r" + "o" + "W" + "" + "o" + "G"
7 inverso ("k") "" risultato + "k" + "r" + "o" + "W" + "" + "o" + "G"
Finale inversione("") - "" + "k" + "r" + "o" + "W" + "" + "o" + "G" = "kroW oG"

Ecco il codice Java equivalente: Programma Java per invertire una frase

Articoli interessanti...