Open In App

Check whether the given floating point number is a palindrome

Last Updated : 13 Aug, 2021
Comments
Improve
Suggest changes
Like Article
Like
Report

Given a floating-point number N, the task is to check whether it is palindrome or not. 

Input: N = 123.321 
Output: Yes
Input: N = 122.1 
Output: No  

Approach: 

  • First, convert the given floating-point number into a character array.
  • Initialize the low to first index and high to the last index.
  • While low < high: 
    • If the character at low is not equal to the character at high then exit and print "No".
    • If the character at low is equal to the character at high then continue after incrementing low and decrementing high...
  • If the above loop completes successfully then print "Yes".


Below is the implementation of the above approach: 

C++
// C++ implementation of the approach
#include <bits/stdc++.h>
using namespace std;

// Function that returns true if num is palindrome
bool isPalindrome(float num)
{
    
    // Convert the given floating point number
    // into a string
    stringstream ss; 
    ss << num; 
    string s; 
    ss >> s; 
    
    // Pointers pointing to the first and
    // the last character of the string
    int low = 0;
    int high = s.size() - 1;

    while (low < high)
    {

        // Not a palindrome
        if (s[low] != s[high])
            return false;

        // Update the pointers
        low++;
        high--;
    }
    return true;
}

// Driver code
int main()
{
    float n = 123.321f;

    if (isPalindrome(n))
        cout << "Yes";
    else
        cout << "No";

    return 0;
}

// This code is contributed by Rajput-Ji
Java
// Java implementation of the approach
public class GFG {

    // Function that returns true if num is palindrome
    public static boolean isPalindrome(float num)
    {

        // Convert the given floating point number
        // into a string
        String s = String.valueOf(num);

        // Pointers pointing to the first and
        // the last character of the string
        int low = 0;
        int high = s.length() - 1;

        while (low < high) {

            // Not a palindrome
            if (s.charAt(low) != s.charAt(high))
                return false;

            // Update the pointers
            low++;
            high--;
        }

        return true;
    }

    // Driver code
    public static void main(String args[])
    {

        float n = 123.321f;

        if (isPalindrome(n))
            System.out.print("Yes");

        else
            System.out.print("No");
    }
}
Python3
# Python3 implementation of the approach 

# Function that returns true if num is palindrome 
def isPalindrome(num) : 

    # Convert the given floating point number 
    # into a string 
    s = str(num) 
    
    # Pointers pointing to the first and 
    # the last character of the string 
    low = 0
    high = len(s) - 1

    while (low < high): 
    
        # Not a palindrome 
        if (s[low] != s[high]): 
            return False

        # Update the pointers 
        low += 1
        high -= 1
    
    return True

# Driver code 
n = 123.321

if (isPalindrome(n)): 
    print("Yes") 
else: 
    print("No") 

# This code is contributed by ihritik 
C#
// C# implementation of the approach 
using System;

class GFG 
{ 

    // Function that returns true 
    // if num is palindrome 
    public static bool isPalindrome(float num) 
    { 

        // Convert the given floating point number 
        // into a string 
        string s = num.ToString(); 

        // Pointers pointing to the first and 
        // the last character of the string 
        int low = 0; 
        int high = s.Length - 1; 

        while (low < high) 
        { 

            // Not a palindrome 
            if (s[low] != s[high]) 
                return false; 

            // Update the pointers 
            low++; 
            high--; 
        } 
        return true; 
    } 

    // Driver code 
    public static void Main() 
    { 
        float n = 123.321f; 

        if (isPalindrome(n)) 
            Console.WriteLine("Yes"); 

        else
            Console.WriteLine("No"); 
    } 
}

// This code is contributed by AnkitRai01
JavaScript
<script>


// Javascript implementation of the approach

// Function that returns true if num is palindrome
function isPalindrome(num)
{
    
    // Convert the given floating point number
    // into a string
    var s = num.toString(); 
    
    // Pointers pointing to the first and
    // the last character of the string
    var low = 0;
    var high = s.length - 1;

    while (low < high)
    {

        // Not a palindrome
        if (s[low] != s[high])
            return false;

        // Update the pointers
        low++;
        high--;
    }
    return true;
}

// Driver code
var n = 123.321;
if (isPalindrome(n))
    document.write( "Yes");
else
    document.write( "No");
</script> 

Output: 
Yes

 

Time Complexity: O(N).
Auxiliary Space: O(1). 


Next Article

Similar Reads