給你一個整數(shù) x 芋绸,如果 x 是一個回文整數(shù)媒殉,返回 true ;否則侥钳,返回 false 适袜。
回文數(shù)是指正序(從左向右)和倒序(從右向左)讀都是一樣的整數(shù)。
例如舷夺,121 是回文苦酱,而 123 不是售貌。
示例 1:
輸入:x = 121
輸出:true
示例 2:
輸入:x = -121
輸出:false
解釋:從左向右讀, 為 -121 。 從右向左讀, 為 121- 疫萤。因此它不是一個回文數(shù)颂跨。
示例 3:
輸入:x = 10
輸出:false
解釋:從右向左讀, 為 01 。因此它不是一個回文數(shù)扯饶。
提示:
-231 <= x <= 231 - 1
解題思路
一恒削、轉(zhuǎn)換字符串方法
class Solution {
public boolean isPalindrome(int x) {
if(x==0) return true;
if(x<0||x%10==0){
return false;
}
char[] s=Integer.toString(x).toCharArray();
boolean result=false;
for(int i=0;i<s.length/2;i++){
if(s[i]==s[s.length-i-1]){
result=true;
}else{
result=false;
break;
}
}
return result;
}
}
二、數(shù)字計(jì)算法
class Solution {
public boolean isPalindrome(int x) {
if(x==0) return true;
if(x<0||x%10==0){
return false;
}
int temp=x;
int reversed=0;
while(x>0){
reversed=reversed*10+x%10;
x=x/10;
}
return reversed==temp;
}
}