В этой программе вы научитесь перевернуть данное предложение, используя рекурсивный цикл в Kotlin.
Пример: изменение предложения с помощью рекурсии
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) )
Когда вы запустите программу, вывод будет:
Обратное предложение: krow oG
В приведенной выше программе имеется рекурсивная функция reverse().
На каждой итерации мы добавляем (объединяем) результат следующей reverse()функции к первому символу предложения, используя charAt(0).
Рекурсивный вызов должен быть перед charAt(), потому что в этом случае последние символы начнут добавляться в левую часть. Если вы измените порядок, вы получите исходное предложение.
В итоге мы получаем пустое предложение и reverse()возвращаем обратное предложение.
| Итерация | обеспечить регресс() | подстрока () | reversedString |
|---|---|---|---|
| 1 | обратный ("Иди работай") | "o Работа" | результат + "G" |
| 2 | обратный ("o Работа" | " Работа" | результат + "o" + "G" |
| 3 | обратный ("Работа") | "Работа" | результат + "" + "o" + "G" |
| 4 | обратный ("Работа") | "орк" | результат + "W" + "" + "o" + "G" |
| 5 | обратный ("орк") | "рк" | результат + "o" + "W" + "" + "o" + "G" |
| 6 | обратный ("рк") | "к" | результат + "r" + "o" + "W" + "" + "o" + "G" |
| 7 | обратный ("к") | "" | результат + "k" + "r" + "o" + "W" + "" + "o" + "G" |
| Финал | обеспечить регресс("") | - | "" + "k" + "r" + "o" + "W" + "" + "o" + "G" = "kroW oG" |
Вот эквивалентный Java-код: Java-программа для переворота предложения








