C语言——回文数
题目:
【回文数】
给你一个整数 x
,如果 x
是一个回文整数,返回 true
;否则,返回 false
。
回文数是指正序(从左向右)和倒序(从右向左)读都是一样的整数。
【解题思路】
取给的整数的一半,此时先不管是奇数还是偶数,然后根据%10,/10,分别取出整数的右半部分;当该数是奇数时,可以/10把多余的数去掉,偶数则不用去,所以此时函数的返回条件即为reverNum==x||x==reverNum/10,是返回true,否则返回false;
【代码】
bool isPalindrome(int x){
if(x<0||(x%10==0&&x!=0))
{
return false;
}
int reverNum=0;
while(x>reverNum)
{
reverNum=reverNum*10+x%10;
x=x/10;
}
if(reverNum==x||x==reverNum/10)
{
return true;
}
else
{
return false;
}
}