这一题可以借助 第7题–数字反转
然后通过反转数字和原先数字比较,如果相等则说明是回文
解法一:利用前面的数字反转
class Solution {
public boolean isPalindrome(int x) {
if(x<0){
return false;
}
int t=x;
int ans = 0;
while (x != 0) {
//说明没有移除完
if ((ans * 10) / 10 != ans) {
// 处理过程中如果遇到越界则会返回0;
ans = 0;
break;
}
ans = ans * 10 + x % 10; // 得到反转的整数值
x = x / 10;//移除一位
}
return t == ans;
}
}
解法二:例如java的api(这种方式推荐)
利用StringBuilder和StringBuffer提供的api
class Solution {
public boolean isPalindrome(int x) {
if(x<0){
return false;
}
String reverseStr = new StringBuilder(String.valueOf(x)).reverse().toString();
return reverseStr.equals(String.valueOf(x));
}
}
解法二简单,但是需要有一定的知识面,首先要对StringBuilder、StringBuffer比较熟悉,知道有一个reverse方法