Skip to content
Related Articles
Get the best out of our app
GeeksforGeeks App
Open App
geeksforgeeks
Browser
Continue

Related Articles

Program to check the number is Palindrome or not

Improve Article
Save Article
Like Article
Improve Article
Save Article
Like Article

Given an integer N, write a program that returns true if the given number is a palindrome, else return false. 
Examples: 
 

Input: N = 2002 
Output: true

Input: N = 1234
Output: false

 

 

Approach: 
A simple method for this problem is to first reverse digits of n, then compare the reverse of n with n. If both are same, then return true, else false.
Below is the implementation of the above approach: 
 

C++




// C program to check whether a number
// is Palindrome or not.
 
#include <stdio.h>
 
/* Iterative function to reverse digits of num*/
int reverseDigits(int num)
{
    int rev_num = 0;
    while (num > 0) {
        rev_num = rev_num * 10 + num % 10;
        num = num / 10;
    }
    return rev_num;
}
 
/* Function to check if n is Palindrome*/
int isPalindrome(int n)
{
 
    // get the reverse of n
    int rev_n = reverseDigits(n);
 
    // Check if rev_n and n are same or not.
    if (rev_n == n)
        return 1;
    else
        return 0;
}
 
/*Driver program to test reverseDigits*/
int main()
{
    int n = 4562;
    printf("Is %d a Palindrome number? -> %s\n", n,
           isPalindrome(n) == 1 ? "true" : "false");
 
    n = 2002;
    printf("Is %d a Palindrome number? -> %s\n", n,
           isPalindrome(n) == 1 ? "true" : "false");
    return 0;
}

Java




// Java program to check whether a number
// is Palindrome or not.
 
class GFG
{
    /* Iterative function to reverse digits of num*/
    static int reverseDigits(int num)
    {
        int rev_num = 0;
        while (num > 0) {
            rev_num = rev_num * 10 + num % 10;
            num = num / 10;
        }
        return rev_num;
    }
     
    /* Function to check if n is Palindrome*/
    static int isPalindrome(int n)
    {
     
        // get the reverse of n
        int rev_n = reverseDigits(n);
     
        // Check if rev_n and n are same or not.
        if (rev_n == n)
            return 1;
        else
            return 0;
    }
     
    /*Driver program to test reverseDigits*/
    public static void  main(String []args)
    {
        int n = 4562;
        System.out.println("Is" + n + "a Palindrome number? -> " +
            (isPalindrome(n) == 1 ? "true" : "false"));
     
        n = 2002;
         
        System.out.println("Is" + n + "a Palindrome number? -> " +
            (isPalindrome(n) == 1 ? "true" : "false"));
 
    }
 
}
 
// This code is contributed
// by Hritik Raj ( ihritik )

Python3




# Python3 program to check whether a
# number is Palindrome or not.
 
# Iterative function to reverse
# digits of num
def reverseDigits(num) :
 
    rev_num = 0;
    while (num > 0) :
        rev_num = rev_num * 10 + num % 10
        num = num // 10
     
    return rev_num
 
# Function to check if n is Palindrome
def isPalindrome(n) :
 
    # get the reverse of n
    rev_n = reverseDigits(n);
 
    # Check if rev_n and n are same or not.
    if (rev_n == n) :
        return 1
    else :
        return 0
 
# Driver Code
if __name__ == "__main__" :
 
    n = 4562
     
    if isPalindrome(n) == 1 :
        print("Is", n, "a Palindrome number? ->", True)
         
    else :
        print("Is", n, "a Palindrome number? ->", False)
 
    n = 2002
     
    if isPalindrome(n) == 1 :
        print("Is", n, "a Palindrome number? ->", True)
         
    else :
        print("Is", n, "a Palindrome number? ->", False)
 
# This code is contributed by Ryuga

C#




// C# program to check whether a number
// is Palindrome or not.
 
using System;
class GFG
{
    /* Iterative function to reverse digits of num*/
    static int reverseDigits(int num)
    {
        int rev_num = 0;
        while (num > 0) {
            rev_num = rev_num * 10 + num % 10;
            num = num / 10;
        }
        return rev_num;
    }
     
    /* Function to check if n is Palindrome*/
    static int isPalindrome(int n)
    {
     
        // get the reverse of n
        int rev_n = reverseDigits(n);
     
        // Check if rev_n and n are same or not.
        if (rev_n == n)
            return 1;
        else
            return 0;
    }
     
    /*Driver program to test reverseDigits*/
    public static void  Main()
    {
        int n = 4562;
        Console.WriteLine("Is" + n + "a Palindrome number? -> " +
            (isPalindrome(n) == 1 ? "true" : "false"));
     
        n = 2002;
         
        Console.WriteLine("Is" + n + "a Palindrome number? -> " +
            (isPalindrome(n) == 1 ? "true" : "false"));
 
    }
 
}
 
// This code is contributed
// by Hritik Raj ( ihritik )

PHP




<?php
// PHP program to check whether a number
// is Palindrome or not.
 
// Iterative function to reverse
// digits of num
function reverseDigits($num)
{
    $rev_num = 0;
    while ($num > 0)
    {
        $rev_num = $rev_num * 10 +
                   $num % 10;
        $num = $num / 10;
    }
    return $rev_num;
}
 
// Function to check if n is Palindrome
function isPalindrome($n)
{
 
    // get the reverse of n
    $rev_n = reverseDigits($n);
 
    // Check if rev_n and n are same or not.
    if ($rev_n == $n)
        return 1;
    else
        return 0;
}
 
// Driver Code
$n = 4562;
echo "Is ", $n , " a Palindrome number? ->";
 
if(isPalindrome($n) == 1)
    echo "true" ;
else
    echo "false";
echo "\n";
 
$n = 2002;
echo "Is ", $n , " a Palindrome number? ->";
if(isPalindrome(!$n))
    echo "true" ;
else
    echo "false";
 
// This code is contributed by jit_t
?>

Javascript




<script>
 
// Javascript program to check whether a number
// is Palindrome or not.
 
/* Iterative function to reverse digits of num*/
function reverseDigits(num)
{
    let rev_num = 0;
    while (num > 0) {
        rev_num = rev_num * 10 + num % 10;
        num = Math.floor(num / 10);
    }
    return rev_num;
}
 
/* Function to check if n is Palindrome*/
function isPalindrome(n)
{
 
    // get the reverse of n
    let rev_n = reverseDigits(n);
 
    // Check if rev_n and n are same or not.
    if (rev_n == n)
        return 1;
    else
        return 0;
}
 
/*Driver program to test reverseDigits*/
  
    let n = 4562;
    document.write("Is " + n + " a Palindrome number? -> ")
    document.write(isPalindrome(n) == 1 ? "true" : "false" + "<br>");
 
    n = 2002;
    document.write("Is " + n + " a Palindrome number? -> ")
    document.write(isPalindrome(n) == 1 ? "true" : "false");
     
// This code is contributed by Mayank Tyagi
 
</script>

Output: 

Is 4562 a Palindrome number? -> false
Is 2002 a Palindrome number? -> true

 

Time Complexity: O(logN) 
Auxiliary Space: O(1)

Another Approach: 
First , convert that number to string and check if the reverse of that string equal to original string .

Below is the implementation of the above approach:

C++




// C++ implementation of the above approach
 
#include <bits/stdc++.h>
using namespace std;
 
// Function to check if a given number is palindrome or not
bool isPalindrome(int n)
{
   
        string num = to_string(n);//converting integer to sting
        string reversed_num = num;
       
         // reverse the string
        reverse(reversed_num.begin(), reversed_num.end());
        
        if (num == reversed_num)
        {// checking a number is
          //palindrome or not
            return true;
        }
      return false;
}
 
// Drive Code
int main() {
   
    int n = 4562;
  // Function call
  if(isPalindrome(n))
  { //printing Yes if,4562 is a palindrome number
    cout<<"Is 4562 a Palindrome number? : "<<"Yes"<<endl;
  }
  else{//else no
    cout<<"Is 4562 a Palindrome number? : "<<"NO"<<endl;
      }
 
    n = 2002;
  // Function call
    if(isPalindrome(n))
     { //printing Yes if,2002is a palindrome number
      cout<<"Is 2002 a Palindrome number? : "<<"Yes"<<endl;
     }
     else{ //else no
       cout<<"Is 20022 a Palindrome number? : "<<"NO"<<endl;
        }
     
    
    return 0;
}
 
// This code is contributed by nikhilsainiofficial546

Java




// Java implementation of the above approach
import java.util.*;
 
public class Main {
    // Function to check if a given number is palindrome or not
    public static boolean isPalindrome(int n) {
        String num = Integer.toString(n); // Converting integer to string
        String reversed_num = new StringBuilder(num).reverse().toString(); // Reverse the string
         
        // Checking if the number is palindrome or not
        if (num.equals(reversed_num)) {
            return true;
        }
        return false;
    }
     
    // Drive Code
    public static void main(String[] args) {
        int n = 4562;
         
        // Function call
        if (isPalindrome(n)) {
            System.out.println("Is 4562 a Palindrome number? : Yes");
        } else {
            System.out.println("Is 4562 a Palindrome number? : NO");
        }
         
        n = 2002;
        // Function call
        if (isPalindrome(n)) {
            System.out.println("Is 2002 a Palindrome number? : Yes");
        } else {
            System.out.println("Is 2002 a Palindrome number? : NO");
        }
    }
}
 
// This code is contributed by Prajwal Kandekar

Python3




# Python3 implementation of checking if a given number is a palindrome or not
def isPalindrome(n: int) -> bool:
    num = str(n)  # converting integer to string
    reversed_num = num[::-1# reversing the string using slicing
 
    if num == reversed_num:  # checking if the number is a palindrome or not
        return True
    return False
 
 
# Driver code
if __name__ == "__main__":
    n = 4562
     
    # Function call
    if isPalindrome(n):
       
        # printing Yes if 4562 is a palindrome number
        print("Is 4562 a Palindrome number? : Yes")
    else:
        # else No
        print("Is 4562 a Palindrome number? : NO")
 
    n = 2002
     
    # Function call
    if isPalindrome(n):
        # printing Yes if 2002 is a palindrome number
        print("Is 2002 a Palindrome number? : Yes")
    else:
        # else No
        print("Is 2002 a Palindrome number? : NO")

Javascript




// JavaScript implementation of checking if a given number is a palindrome or not
function isPalindrome(n) {
  let num = n.toString(); // converting integer to string
  let reversedNum = num.split('').reverse().join(''); // reversing the string using split, reverse, and join
 
  // checking if the number is a palindrome or not
  if (num === reversedNum) {
    return true;
  }
  return false;
}
 
// Driver code
let n = 4562;
 
// Function call
if (isPalindrome(n)) {
  // printing Yes if 4562 is a palindrome number
  console.log("Is 4562 a Palindrome number? : Yes");
} else {
  // else No
  console.log("Is 4562 a Palindrome number? : NO");
}
 
n = 2002;
 
// Function call
if (isPalindrome(n)) {
  // printing Yes if 2002 is a palindrome number
  console.log("Is 2002 a Palindrome number? : Yes");
} else {
  // else No
  console.log("Is 2002 a Palindrome number? : NO");
}

C#




// C# code to implement the above approach
using System;
 
class Program {
    // Function to check if a given number is palindrome or
    // not
    static bool IsPalindrome(int n)
    {
        // converting integer to sting
        string num = n.ToString();
        // reverse the string
        char[] reversed_num = num.ToCharArray();
        Array.Reverse(reversed_num);
        string reversed_num_str = new string(reversed_num);
        // checking a number is palindrome or not
        if (num == reversed_num_str) {
            return true;
        }
        return false;
    }
 
    // Drive Code
    static void Main(string[] args)
    {
        int n = 4562;
        // Function call
        if (IsPalindrome(n)) {
            // printing Yes if,4562 is a palindrome number
            Console.WriteLine(
                "Is 4562 a Palindrome number? : Yes");
        }
        else {
            // else no
            Console.WriteLine(
                "Is 4562 a Palindrome number? : NO");
        }
 
        n = 2002;
        // Function call
        if (IsPalindrome(n)) {
            // printing Yes if,2002is a palindrome number
            Console.WriteLine(
                "Is 2002 a Palindrome number? : Yes");
        }
        else {
            // else no
            Console.WriteLine(
                "Is 20022 a Palindrome number? : NO");
        }
    }
}

Output

Is 4562 a Palindrome number? : NO
Is 2002 a Palindrome number? : Yes

Time Complexity: O(m) where m is the length of the number in string format
Auxiliary Space: O(m)


My Personal Notes arrow_drop_up
Last Updated : 30 Mar, 2023
Like Article
Save Article
Similar Reads
Related Tutorials