Open In App

Program to check the number is Palindrome or not

Last Updated : 16 Nov, 2023
Improve
Improve
Like Article
Like
Save
Share
Report

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++




#include <iostream>
 
int reverseDigits(int num) {
    int rev_num = 0;
    while (num > 0) {
        rev_num = rev_num * 10 + num % 10;
        num = num / 10;
    }
    return rev_num;
}
 
bool isPalindrome(int n) {
    int rev_n = reverseDigits(n);
    return (rev_n == n);
}
 
int main() {
    int n = 4562;
 
    if (isPalindrome(n)) {
        std::cout << "Is " << n << " a Palindrome number? -> true" << std::endl;
    } else {
        std::cout << "Is " << n << " a Palindrome number? -> false" << std::endl;
    }
 
    n = 2002;
 
    if (isPalindrome(n)) {
        std::cout << "Is " << n << " a Palindrome number? -> true" << std::endl;
    } else {
        std::cout << "Is " << n << " a Palindrome number? -> false" << std::endl;
    }
 
    return 0;
}


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 )


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>


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
?>


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")


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");
        }
    }
}


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");
}


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)



Like Article
Suggest improvement
Previous
Next
Share your thoughts in the comments

Similar Reads