V tem programu se boste naučili obrniti dani stavek z uporabo rekurzivne zanke v Kotlinu.
Primer: Spremenite stavek z uporabo 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) )
Ko zaženete program, bo rezultat:
Obrnjen stavek je: krow oG
V zgornjem programu imamo rekurzivno funkcijo reverse()
.
Na vsaki ponovitvi dodamo (združimo) rezultat naslednje reverse()
funkcije prvemu znaku stavka z uporabo charAt(0)
.
Rekurzivni klic mora biti pred charAt()
, ker se bodo tako zadnji znaki začeli dodajati na levi strani. Če obrnete vrstni red, boste dobili prvotni stavek.
Na koncu dobimo prazen stavek in reverse()
vrne obrnjeni stavek.
Ponavljanje | vzvratno () | podniz () | reversedString |
---|---|---|---|
1. | vzvratno ("Pojdi na delo") | "o delo" | rezultat + "G" |
2. | obratno ("o Delo" | "Delo" | rezultat + "o" + "G" |
3. | vzvratno ("Delo") | "Delo" | rezultat + "" + "o" + "G" |
4. | vzvratno ("Delo") | "ork" | rezultat + "W" + "" + "o" + "G" |
5. | vzvratno ("ork") | "rk" | rezultat + "o" + "W" + "" + "o" + "G" |
6. | vzvratno ("rk") | "k" | rezultat + "r" + "o" + "W" + "" + "o" + "G" |
7. | vzvratno ("k") | "" | rezultat + "k" + "r" + "o" + "W" + "" + "o" + "G" |
Končno | vzvratno ("") | - | "" + "k" + "r" + "o" + "W" + "" + "o" + "G" = "kroW oG" |
Tu je enakovredna koda Java: Java program za obrat stavka