How to reverse the middle N characters of a string in Scala

1 Answer

0 votes
object ReverseMiddleNCharacters {
  def reverseMiddleNCharacters(str: String, N: Int): String = {
    if (N <= 0 || N > str.length) {
        return str
    }

    val start = (str.length - N) / 2
    val end = start + N

    val beforeMiddle = str.substring(0, start)
    val middle = str.substring(start, end).reverse
    val afterMiddle = str.substring(end)

    beforeMiddle + middle + afterMiddle
  }

  def main(args: Array[String]): Unit = {
    val s = "abCDEFgh"
    val N = 4
    
    println(reverseMiddleNCharacters(s, N))
  }
}


   
/*
           
run:
     
scala c# c python ++ java rust
       
*/

 



answered Sep 12, 2024 by avibootz
...