检查给定的浮点数是否是回文数
给定一个浮点数N ,任务是检查它是否是回文数。
Input: N = 123.321
Output: Yes
Input: N = 122.1
Output: No
方法:
- 首先,将给定的浮点数转换为字符数组。
- 将低位初始化为第一个索引,将高位初始化为最后一个索引。
- 虽然低 < 高:
- 如果低位字符不等于高位字符,则退出并打印“否”。
- 如果低位字符等于高位字符,则在增加低位和减少高位后继续……
- 如果上述循环成功完成,则打印“是”。
下面是上述方法的实现:
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)。