回文数
1.题目描述
判断一个整数是否是回文数。回文数是指正序(从左向右)和倒序(从右向左)读都是一样的整数。
示例:
输入: -121
输出: false
解释: 从左向右读, 为 -121 。 从右向左读, 为 121- 。因此它不是一个回文数。
2.思路
需要考虑负数的情况,因为负数的符号也需要反转。
2.1 考虑使用字符串反转,先转为字符串,再反转,对比是否是同一个字符串。
2.2 参考第7题网上的解法,先将数字反转再判断即可。秒啊,简化到没有一句废话代码。
3.解法
对应于思路2.2
public boolean isPalindrome(int x) {
if(x<0)return false;
int mark = x; //记住反转前的值
int n =0;
while(x!=0){
n = n*10+x%10;
x=x/10;
}
return mark==n;
}