LeetCode:第9题 回文数(算法改进) C语言实现
接上文 https://mp.****.net/postedit/83415116 关注这样的现象: 若x不是回文数,假设x=123;将x逆置,将得到321,与原数据不同; 若x是回文数,则,将x逆置后得到的数一定与原数值相同! 关键在于如何逆置x
|
假设逆置后的数为y
|
boolean isPalindrome(int x) {
int count = 0; //表示位数
int tmp = x; //放x的复制本,这样不会改变x的值
int y = 0;
if(x < 0){
return 0;
}
while(tmp){
y = tmp % 10 + y*10;
tmp /= 10;
count++;
}
printf("%d的位数为:%d\n", x, count);
if(x == y){
return 1;
}else{
return 0;
}
}