Selles programmis saate teada, kuidas antud lause Kotlinis rekursiivse tsükli abil ümber pöörata.
Näide: Lause ümberpööramine rekursiooni abil
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) )
Programmi käivitamisel on väljund järgmine:
Pööratud lause on: krow oG
Ülaltoodud programmis on meil rekursiivne funktsioon reverse().
Igal iteratsioonil lisame järgmise reverse()lause funktsiooni (liitma) lause esimese märgi abil charAt(0).
Rekursiivne kõne peab olema enne charAt(), sest nii hakkavad viimased märgid vasakusse serva lisama. Kui muudate järjekorda, saate lõpuks originaalse lause.
Lõpuks jõuame tühja lauseni ja reverse()tagastame tagurdatud lause.
| Kordus | tagurpidi() | alamstring () | reversedString |
|---|---|---|---|
| 1 | tagurpidi ("mine tööle") | "o töö" | tulemus + "G" |
| 2 | tagurpidi ("o Work" | "Töö" | tulemus + "o" + "G" |
| 3 | tagurpidi ("töö") | "Töö" | tulemus + "" + "o" + "G" |
| 4 | tagurpidi ("töö") | "ork" | tulemus + "W" + "" + "o" + "G" |
| 5 | tagurpidi ("ork") | "rk" | tulemus + "o" + "W" + "" + "o" + "G" |
| 6 | tagurpidi ("rk") | "k" | tulemus + "r" + "o" + "W" + "" + "o" + "G" |
| 7 | tagurpidi ("k") | "" | tulemus + "k" + "r" + "o" + "W" + "" + "o" + "G" |
| Lõplik | tagurpidi("") | - | "" + "k" + "r" + "o" + "W" + "" + "o" + "G" = "kroW oG" |
Siin on samaväärne Java kood: Java programm lause ümberpööramiseks








