În acest program, veți învăța să inversați o propoziție dată utilizând o buclă recursivă în Kotlin.
Exemplu: inversați o propoziție folosind recursivitate
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) )
Când rulați programul, ieșirea va fi:
Propoziția inversată este: krow oG
În programul de mai sus, avem o funcție recursivă reverse()
.
La fiecare iterație, adăugăm (concatenăm) rezultatul reverse()
funcției următoare la primul caracter al propoziției folosind charAt(0)
.
Apelul recursiv trebuie să fie înainte de charAt()
, deoarece în acest fel ultimele caractere vor începe să se adauge în partea stângă. Dacă inversați ordinea, veți ajunge la propoziția originală.
La final, ajungem cu o propoziție goală și reverse()
returnăm propoziția inversată.
Repetare | verso() | substring () | String inversat |
---|---|---|---|
1 | invers („Du-te la lucru”) | „o muncă” | rezultat + "G" |
2 | invers („o Work” | " Muncă" | rezultat + "o" + "G" |
3 | invers („Muncă”) | "Muncă" | rezultat + "" + "o" + "G" |
4 | invers („Muncă”) | „ork” | rezultat + "W" + "" + "o" + "G" |
5 | invers („ork”) | „rk” | rezultat + "o" + "W" + "" + "o" + "G" |
6 | invers („rk”) | „k” | rezultat + "r" + "o" + "W" + "" + "o" + "G" |
7 | invers („k”) | "" | rezultat + "k" + "r" + "o" + "W" + "" + "o" + "G" |
Final | verso("") | - | "" + "k" + "r" + "o" + "W" + "" + "o" + "G" = "KROW oG" |
Iată codul Java echivalent: Programul Java pentru a inversa o propoziție