V tomto programu se naučíte zvrátit danou větu pomocí rekurzivní smyčky v Kotlin.
Příklad: Obrátit větu pomocí rekurze
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) )
Když spustíte program, výstup bude:
Obrácená věta je: krow oG
Ve výše uvedeném programu máme rekurzivní funkci reverse().
Při každé iteraci přidáme (zřetězíme) výsledek další reverse()funkce k prvnímu znaku věty pomocí charAt(0).
Rekurzivní volání musí být před charAt(), protože tak se začnou poslední znaky přidávat na levou stranu. Pokud obrátíte pořadí, dostanete původní větu.
Nakonec skončíme s prázdnou větou a vrátíme reverse()obrácenou větu.
| Opakování | zvrátit() | podřetězec () | obrácený řetězec |
|---|---|---|---|
| 1 | reverzní („Jdi do práce“) | „o práci“ | výsledek + "G" |
| 2 | zpět („o Práce“ | "Práce" | výsledek + "o" + "G" |
| 3 | zpět („Práce“) | "Práce" | výsledek + "" + "o" + "G" |
| 4 | zpět („Práce“) | „ork“ | výsledek + "W" + "" + "o" + "G" |
| 5 | zpět („ork“) | "rk" | výsledek + "o" + "W" + "" + "o" + "G" |
| 6 | zpět ("rk") | „k“ | výsledek + "r" + "o" + "W" + "" + "o" + "G" |
| 7 | zpět („k“) | „“ | výsledek + "k" + "r" + "o" + "W" + "" + "o" + "G" |
| Finále | zvrátit("") | - | "" + "k" + "r" + "o" + "W" + "" + "o" + "G" = "kroW oG" |
Tady je ekvivalentní kód Java: Program Java k převrácení věty








