一、题目描述
二、题目分析
回文数是比较入门级别题目。基本的思想就是要将数字前后进行对比,比较容易想到的是“翻转”对比,难就难在如何“翻转”?
- 方法一:使用字符串。
- 方法二:使用数字的转换。
字符串String的数据类型在Java中可以使用reserve()函数轻松实现“翻转”,并且s.equals(ss)函数也可以很容易地比较两个字符串。所以不难想到将integer类型转为String类型之后进行回文数的判断。
在学习程序语言的时候,大多数人都练习过获取一个整数各个位上的数字。在这里,可以获取各个位上的整数之后将其“翻转”为另一个整数,判断是否相等,即可知道是否是“回文数”。
三、Java实现
首先使用字符串实现。
class Solution {
public boolean isPalindrome(int x) {
String s=Integer.toString(x);
return s.equals(new StringBuilder(s).reverse().toString());
}
}
再使用提取整数各个位上的数字,生成一个新的整数实现。
class Solution {
public boolean isPalindrome(int x) {
// 如果是负数,那么一定不是回文数
if(x<0) return false;
// 不是负数的情况下倒序出来和原数进行比较
int cur=0;
int num=x;
while(num!=0){
int temp=num%10;
cur=cur*10+temp;
num/=10;
}
return cur==x;
}
}