Dans ce programme, vous apprendrez à inverser une phrase donnée en utilisant une boucle récursive dans Kotlin.
Exemple: inverser une phrase à l'aide de la récursivité
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) )
Lorsque vous exécutez le programme, la sortie sera:
La phrase inversée est: krow oG
Dans le programme ci-dessus, nous avons une fonction récursive reverse()
.
À chaque itération, nous ajoutons (concaténons) le résultat de la reverse()
fonction suivante au premier caractère de la phrase en utilisant charAt(0)
.
L'appel récursif doit être avant le charAt()
, car de cette façon, les derniers caractères commenceront à s'ajouter sur le côté gauche. Si vous inversez l'ordre, vous vous retrouverez avec la phrase originale.
À la fin, nous nous retrouvons avec une phrase vide et reverse()
retourne la phrase inversée.
Itération | sens inverse() | sous-chaîne () | reverseString |
---|---|---|---|
1 | inverser ("Allez travailler") | "o Travail" | résultat + "G" |
2 | inverser ("o Travail" | " Travail" | résultat + "o" + "G" |
3 | inverser ("Travail") | "Travail" | résultat + "" + "o" + "G" |
4 | inverser ("Travail") | "ork" | résultat + "W" + "" + "o" + "G" |
5 | inverse ("ork") | "rk" | résultat + "o" + "W" + "" + "o" + "G" |
6 | inverse ("rk") | "k" | résultat + "r" + "o" + "W" + "" + "o" + "G" |
sept | inverse ("k") | "" | résultat + "k" + "r" + "o" + "W" + "" + "o" + "G" |
Final | sens inverse("") | - | "" + "k" + "r" + "o" + "W" + "" + "o" + "G" = "kroW oG" |
Voici le code Java équivalent: Programme Java pour inverser une phrase