任务: 判断一个整数是否是回文数。回文数是指正序(从左向右)和倒序(从右向左)读都是一样的整数。
示例 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;
}