Reference Materials
Certification Courses
Created with over a decade of experience and thousands of feedback.
Python online compiler
JavaScript online compiler
SQL online compiler
Java online compiler
HTML online compiler
C online compiler
C++ online compiler
C# online compiler
PHP online compiler
Swift online compiler
Kotlin online compiler
TypeScript online compiler
Go online compiler
Rust online compiler
Scala online compiler
Dart online compiler
R online compiler
Ruby online compiler
Kotlin Program to Reverse a Sentence Using Recursion
In this program, you'll learn to reverse a given sentence using a recursive loop in Kotlin.
Example: Reverse a Sentence Using Recursion
fun main(args: Array<String>) {
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]
}
When you run the program, the output will be:
The reversed sentence is: krow oG
In the above program, we've a recursive function reverse().
On each iteration, we add (concatenate) the result of next reverse() function to the first character of sentence using charAt(0).
The recursive call must be before the charAt(), because that way the last characters will start adding to the left hand side. If you reverse the order, you'll end up with the original sentence.
In the end, we end up with an empty sentence and reverse() returns the reversed sentence.
| Iteration | reverse() | substring() | reversedString |
|---|---|---|---|
| 1 | reverse("Go work") | "o Work" | result + "G" |
| 2 | reverse("o Work" | " Work" | result + "o" + "G" |
| 3 | reverse(" Work") | "Work" | result + " " + "o" + "G" |
| 4 | reverse("Work") | "ork" | result + "W" + " " + "o" + "G" |
| 5 | reverse("ork") | "rk" | result + "o" + "W" + " " + "o" + "G" |
| 6 | reverse("rk") | "k" | result + "r" + "o" + "W" + " " + "o" + "G" |
| 7 | reverse("k") | "" | result + "k" + "r" + "o" + "W" + " " + "o" + "G" |
| Final | reverse("") | - | "" + "k" + "r" + "o" + "W" + " " + "o" + "G" = "kroW oG" |
Here's the equivalent Java code: Java Program to reverse a sentence
Did you find this article helpful?