How to reverse the middle words of a string in Kotlin

1 Answer

0 votes
fun reverseMiddleWords(s: String): String {
    val words = s.trim().split(Regex("\\s+"))

    if (words.size < 3) return s   // nothing to reverse

    val first = words.first()
    val last = words.last()
    val middle = words.subList(1, words.size - 1).map { it.reversed() }

    return listOf(first, *middle.toTypedArray(), last).joinToString(" ")
}

fun main() {
    val input = "Hello how are you today"
    
    println(reverseMiddleWords(input))
}




/*
run:

Hello woh era uoy today

*/

 



answered Dec 25, 2025 by avibootz
...