📌  相关文章
📜  检查给定的浮点数是否是回文数

📅  最后修改于: 2022-05-13 01:57:08.293000             🧑  作者: Mango

检查给定的浮点数是否是回文数

给定一个浮点数N ,任务是检查它是否是回文数。

方法:

  • 首先,将给定的浮点数转换为字符数组。
  • 将低位初始化为第一个索引,将高位初始化为最后一个索引。
  • 虽然低 < 高:
    • 如果低位字符不等于高位字符,则退出并打印“否”。
    • 如果低位字符等于高位字符,则在增加低位和减少高位后继续……
  • 如果上述循环成功完成,则打印“是”。

下面是上述方法的实现:

C++
// C++ implementation of the approach
#include 
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


输出:
Yes

时间复杂度:O(N)。
辅助空间:O(1)。