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:
#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 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 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 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# 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 ) |
<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 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 ?> |
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++ 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 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 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# 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 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" );
} |
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)