题目
给你一个整数 x ,如果 x 是一个回文整数,返回 true ;否则,返回 false 。
回文数是指正序(从左向右)和倒序(从右向左)读都是一样的整数。
自己想的写法:
private static boolean palindrome(int x){
if(x<0){return false;}
if(x==0){return true;}
int num2=x;
StringBuilder target=new StringBuilder();
while(num2!=0){
int a=num2%10;
target.append(a);
num2=num2/10;
}
String x2=String.valueOf(x);
String target2 = String.valueOf(target);
if(x2.equals(target2)){
return true;
}
return false;
}
题解
public static boolean isPalindrome(int x) {
if (x == 0) {return true;}
if (x < 0|| x % 10 == 0) {return false;}
int reversed = 0;
while (x > reversed) {
reversed = reversed * 10 + x % 10;
x /= 10;
}
return x == reversed || x == reversed / 10;
}
看了题解才发现,我写的太笨了 🤣🤣