题目
判断一个整数是否是回文数。回文数是指正序(从左向右)和倒序(从右向左)读都是一样的整数。(未粘贴示例,可以自己去查看)9. 回文数.
暴力C
思路分析
- 本以为用int就可以,可是在操作中发现,它传过来的数值可以不超过2^31-1,但是当该数字回文之后,就可能出现超过该长度的数值,因此要防止溢出
- 可以从题目可知,如果传入数字小于0,可直接判断该数不是回文数
- 和之前的整数反转一样,利用取余和整除来得到每一位数字,每一次循环前乘以十,再加上新的数,这样就能做到反转的效果
实现
bool isPalindrome(int x){
long num = 0, ori=x;
if(x < 0){
return false;
}
else{
while(x != 0){
num = num * 10;
num = x % 10 + num;
x = x /10;
}
if(num == ori){
return true;
}
else{
return false;
}
}
}
结果
进阶版
等我一年之后学成归来再更新…