任务:
判断一个整数是否是回文数。回文数是指正序(从左向右)和倒序(从右向左)读都是一样的整数。
示例 1:
输入: 121
输出: true
示例 2:
输入: -121
输出: false
解释: 从左向右读, 为 -121 。 从右向左读, 为 121- 。因此它不是一个回文数。
犹豫负数都带负号-,所以首先只要输入值x小于零,就返回false。
然后用数组从头开始存储x的每一位数字,然后用循环将其倒过来就行。
代码:
bool isPalindrome(int x){
if(x<0) return 0;
if(x<10) return 1;
int a[1000]={0},i,j;
long int xx=x,s=0,b=1;
for(i=0;;i++)
{
a[i]=xx%10;
xx=xx/10;
if(xx==0) break;
}
for(;i>=0;i--)
{
s=s+a[i]*b;
b*=10;
}
if(s==x) return 1;
else return 0;
}