U ovom programu naučit ćete obrnuti zadanu rečenicu pomoću rekurzivne petlje u Kotlinu.
Primjer: Obrni rečenicu pomoću rekurzije
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) )
Kada pokrenete program, izlaz će biti:
Obrnuta rečenica je: krow oG
U gore navedenom programu imamo rekurzivnu funkciju reverse().
Na svakoj iteraciji dodajemo (spajamo) rezultat sljedeće reverse()funkcije prvom znaku rečenice pomoću charAt(0).
Rekurzivni poziv mora biti ispred charAt(), jer će se tako zadnji znakovi početi dodavati s lijeve strane. Ako preokrenete redoslijed, završit ćete s izvornom rečenicom.
Na kraju završimo s praznom rečenicom i reverse()vratimo obrnutu rečenicu.
| Iteracija | obrnuti () | podniz () | reversedString |
|---|---|---|---|
| 1 | obrnuto ("Idi na posao") | "o Posao" | rezultat + "G" |
| 2 | obrnuto ("o Posao" | "Posao" | rezultat + "o" + "G" |
| 3 | obrnuto ("Posao") | "Raditi" | rezultat + "" + "o" + "G" |
| 4 | obrnuto ("Posao") | "ork" | rezultat + "W" + "" + "o" + "G" |
| 5 | obrnuto ("ork") | "rk" | rezultat + "o" + "W" + "" + "o" + "G" |
| 6 | obrnuto ("rk") | "k" | rezultat + "r" + "o" + "W" + "" + "o" + "G" |
| 7 | obrnuto ("k") | "" | rezultat + "k" + "r" + "o" + "W" + "" + "o" + "G" |
| Konačno | obrnuto ("") | - | "" + "k" + "r" + "o" + "W" + "" + "o" + "G" = "kroW oG" |
Evo ekvivalentnog Java koda: Java program za preokretanje rečenice








