#include<iostream>
using namespace std;
bool is_palindrome(int input[], int numOfSlots);
int main(){
int n;
cin >> n;
int *input = new int[n]; // A dynamic array with n slots
for (int i = 0 ; i < n ; i++){
cin >> input[i];
}
if (is_palindrome(input,n) == true ){
cout << "This is a palindrome.";
}else{
cout << "This is NOT a palindrome.";
}
return 0;
}
// Implement the is_palindrome() function here...
我如何解决问题?
答案 0 :(得分:0)
你的问题根本不清楚.Palindrome基本上是你反转输入然后它给出相同的结果。
比如考虑一个例子 12321 。如果你反过来,它也会给你相同的数字。所以基本的is_palindrome
实现应该像
bool is_palindrome(int inputNum)
{
int n = inputNum;
bool isPalindrome = false;
int digit, rev = 0;
do
{
digit = inputNum%10;
rev = (rev*10) + digit;
inputNum = inputNum/10;
}while (inputNum!=0);
cout << " The reverse of the number is: " << rev << endl;
if (n == rev)
isPalindrome = true ;
return isPalindrome;
}