How to recursively check if a number is palindrome in Kotlin

1 Answer

0 votes
fun isPalindrome(num: Int, reversed: Int = 0, original: Int = num): Boolean {
    // Base case: If the number is reduced to 0, check if reversed matches original
    if (num == 0) {
        return reversed == original
    }

    // Recursive case: Extract the last digit, update reversed, and call recursively
    val remainder = num % 10
    return isPalindrome(num / 10, reversed * 10 + remainder, original)
}

fun main() {
    val number = 12321
    
    if (isPalindrome(number)) {
        println("$number is a palindrome.")
    } else {
        println("$number is not a palindrome.")
    }
}

   
      
/*
run:

12321 is a palindrome.
  
*/

 



answered Apr 8, 2025 by avibootz
...