回文数
你一个整数 x ,如果 x 是一个回文整数,返回 true ;否则,返回 false 。
回文数是指正序(从左向右)和倒序(从右向左)读都是一样的整数。
例如,121 是回文,而 123 不是。
package com.lyj;
/**
* ClassName: HuiWen
*
* @description:回文数
* @author: LYJ
* @Create: 2023/6/10 23:20
* @Version: 1.0
* @return
*/
public class HuiWen {
public static void main(String[] args) {
System.out.println(test(123241));
}
public static boolean test(int x){
//1.判断该数是否为0
if(x<0||(x%10==0&&x!=0)){//如果x<0返回f;如果x=0才能进入下面代码,不会出现x=01情况
return false;
}
//2.将该数反转 分为:x可能为奇数或者偶数
int verseNum=0;
while (x>verseNum){ //输入: x=121
verseNum=verseNum*10+x%10;//verseNum :1 10+2=12 反转x
x/=10; // x :12 1
}
//3.判断是否为回文数
return verseNum==x||x==verseNum/10;//会出现两种情况:1.x为偶数 verseNum==x
// 2.x为偶数 x==verseNum/10
}
}