问题描述
判断一个整数是否是回文数。回文数是指正序(从左向右)和倒序(从右向左)读都是一样的整数。
示例
输入: 121
输出: true
输入: -121
输出: false
解释: 从左向右读, 为 -121 。 从右向左读, 为 121- 。因此它不是一个回文数。
输入: 10
输出: false
解释: 从右向左读, 为 01 。因此它不是一个回文数。
思路
先判断是不是负数或者0。负数不是回文数,0是回文数。在其他情况下,将正整数求逆序数,判断是否和原数相同,相同是回文数,不同则不是。
class Solution {
public boolean isPalindrome(int x) {
if(x < 0){
return false;
} else if(x == 0){
return true;
} else {
int temp = 0;
int x_temp = x;
while(x_temp != 0){
temp = temp * 10 + x_temp % 10;
x_temp = x_temp / 10;
}
if(x == temp){
return true;
} else {
return false;
}
}
}
}