回文数
方法一 .反转一半数字
public void A{
//考虑到 如果全部反转的话,有可能会使得 int超过范围
//,比如说 Integer.MAX_VALUE反转,2147483647 变成7463847412
//所以使用一半 这样不会有超过最大范围的可能
public static boolean reverted(int x){
//一进来首先需要知道 0结尾并且不止一位的不行 负数不行
//这里 如果写成这样一定是错误的 ,所以加括号
if(x<0||(x!=0&&x%10==0)){
return false;
}
//拿出来反转的数字
int reverted = 0;
//123321
whhle(x>reverted){
reverted = reverted*10+x%10;
x = x/10;
}
//与比较前段和后段的值是否相等
return x==reverted||x==reverted/10;
}
}
方法二.转换为数组反转
public void B{
//考虑到 如果全部反转的话,有可能会使得 int超过范围
//,比如说 Integer.MAX_VALUE反转,2147483647 变成7463847412
//所以使用一半 这样不会有超过最大范围的可能
public static boolean reverted(int x){
//一进来首先需要知道 0结尾并且不止一位的不行 负数不行
//这里 如果写成这样一定是错误的 ,所以加括号
if(x<0||(x!=0&&x%10==0)){
return false;
}
StringBuilder sb = new StringBuilder(String.valueOf(x));
return sb.toString().equals(sb.reverse().toString());
}
}