У цій програмі ви навчитесь робити зворотне дане речення за допомогою рекурсивного циклу в 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 | реверс ("орк") | "rk" | результат + "o" + "W" + "" + "o" + "G" |
6 | реверс ("rk") | "k" | результат + "r" + "o" + "W" + "" + "o" + "G" |
7 | реверс ("k") | "" | результат + "k" + "r" + "o" + "W" + "" + "o" + "G" |
Остаточний | зворотний("") | - | "" + "k" + "r" + "o" + "W" + "" + "o" + "G" = "kroW oG" |
Ось еквівалентний код Java: програма Java для зворотного речення