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