Check if a number with even number of digits is palindrome or not

Given a number N containing an even number of digits. The task is to check whether that number is palindrome or not.
Examples:
Input: N = 123321 Output: Palindrome Input: 1234 Output: Not palindrome
A Naive Approach is to traverse from the front and back of that number and stop where they do not match.
An Efficient Approach is to use the below fact:
Palindrome Number having even number of digits is always divisible by 11.
Suppose the number is d1 d2 d3 d4…dn, whered1, d2, d3.. are digits of a number. If it is a palindrome then d1 = dn, d2 = dn-1, d3 = dn-2…..and so on. Now since divisibility of 11 states that the difference of sum of alternate digits of a number should be zero and same in the case of palindrome having even no. of digits i.e.
d1 + d3 + …+ dn-1 = d2 + d4 + d6 + … + dn
So, a palindromic number having even number of digits is always divisible by 11.
C++
// C++ program to find number is palindrome// or not without using any extra space#include <bits/stdc++.h>using namespace std;// Function to check if the number is palindromebool isPalindrome(int n){ // if divisible by 11 then true if (n % 11 == 0) { return true; } // if not divisible by 11 return false;}// Driver codeint main(){ isPalindrome(123321) ? cout << "Palindrome" : cout << "Not Palindrome"; return 0;} |
Java
// Java program to find number// is palindrome or not without // using any extra space class GFG { // Function to check if the // number is palindrome static boolean isPalindrome(int n) { // if divisible by 11 then true if (n % 11 == 0) { return true; } // if not divisible by 11 return false; } // Driver code public static void main(String[] args) { System.out.println(isPalindrome(123321) ? "Palindrome" : "Not Palindrome"); }}// This code is contributed by Bilal |
Python3
# Python 3 program to find number is palindrome # or not without using any extra space.# Function to check if the number is palindrome def isPalindrome(n) : # if divisible by 11 then return True if n % 11 == 0 : return True # if not divisible by 11 then return False return False# Driver codeif __name__ == "__main__" : n = 123321 if isPalindrome(n) : print("Palindrome") else : print("Not Palindrome") # This code is contributed by ANKITRAI1 |
C#
// C# program to find number// is palindrome or not without // using any extra space using System;class GFG { // Function to check if the // number is palindrome static bool isPalindrome(int n) { // if divisible by // 11 then true if (n % 11 == 0) { return true; } // if not divisible by 11 return false; } // Driver code public static void Main() { Console.Write(isPalindrome(123321) ? "Palindrome" : "Not Palindrome"); }}// This code is contributed// by ChitraNayal |
PHP
<?php // PHP program to find number // is palindrome or not without // using any extra space// Function to check if the// number is palindromefunction isPalindrome($n){ // if divisible by // 11 then true if ($n % 11 == 0) { return true; } // if not divisible by 11 return false;}// Driver codeecho isPalindrome(123321) ? "Palindrome" : "Not Palindrome";// This code is contributed// by ChitraNayal?> |
Javascript
<script>// Javascript program to find number// is palindrome or not without // using any extra space // Function to check if the // number is palindrome function isPalindrome(n) { // if divisible by 11 then true if (n % 11 == 0) { return true; } // if not divisible by 11 return false; } // Driver code document.write(isPalindrome(123321) ? "Palindrome" : "Not Palindrome");// This code contributed by Princi Singh</script> |
Palindrome
Time Complexity: O(1)
Auxiliary Space: O(1)
Ready to dive in? Explore our Free Demo Content and join our DSA course, trusted by over 100,000 zambiatek!



