class Solution {
public boolean isPalindrome(int x) {
//方法一:
if(x<0) return false;
String strarr=Integer.toString(x);
for(int i=0;i*2<strarr.length();i++){
if(strarr.charAt(i)!=strarr.charAt(strarr.length()-1-i)) return false;
}
return true;
//方法二:
if(x<0) return false;
String arr=Integer.toString(x);
return Objects.equals(new StringBuffer(arr).reverse().toString(),arr) ? true : false;
}
}
思路一:
首先排除负数;
将整数转为字符串;
依次将字符串前面的下标和后面的下标对应,因为回文是对称的,只需要循环一半的次数就好;
此处无需考虑奇偶数的字符串长度问题,判断的时候没有差别;
思路二:
直接用reverse()翻转字符串进行对比