給你一個整數(shù) x 私痹,如果 x 是一個回文整數(shù)统刮,返回 true 账千;否則,返回 false 鞭衩。
回文數(shù)是指正序(從左向右)和倒序(從右向左)讀都是一樣的整數(shù)娃善。例如,121 是回文坯台,而 123 不是瘫寝。
1
class Solution {
public boolean isPalindrome(int x) {
if (x<0||(x%10==0&&x!=0)){
return false;
}
int res=0;
int num=x;
while(num!=0){
res=res * 10 + num % 10;
num=num/10;
}
return x==res;
}
}
2
class Solution {
public boolean isPalindrome(int x) {
// 特殊情況:
// 如上所述,當(dāng) x < 0 時焕阿,x 不是回文數(shù)。
// 同樣地撤摸,如果數(shù)字的最后一位是 0褒纲,為了使該數(shù)字為回文,
// 則其第一位數(shù)字也應(yīng)該是 0
// 只有 0 滿足這一屬性
if (x < 0 || (x % 10 == 0 && x != 0)) {
return false;
}
int revertedNumber = 0;
while (x > revertedNumber) {
revertedNumber = revertedNumber * 10 + x % 10;
x /= 10;
}
// 當(dāng)數(shù)字長度為奇數(shù)時冕象,我們可以通過 revertedNumber/10 去除處于中位的數(shù)字汁蝶。
// 例如论悴,當(dāng)輸入為 12321 時墓律,在 while 循環(huán)的末尾我們可以得到 x = 12,revertedNumber = 123耻讽,
// 由于處于中位的數(shù)字不影響回文(它總是與自己相等)针肥,所以我們可以簡單地將其去除。
return x == revertedNumber || x == revertedNumber / 10;
}
}
3
///簡單粗暴慰枕,看看就行
class Solution {
public boolean isPalindrome(int x) {
String reversedStr = (new StringBuilder(x + "")).reverse().toString();
return (x + "").equals(reversedStr);
}
}
作者:MisterBooo
鏈接:https://leetcode-cn.com/problems/palindrome-number/solution/dong-hua-hui-wen-shu-de-san-chong-jie-fa-fa-jie-ch/
來源:力扣(LeetCode)
著作權(quán)歸作者所有具帮。商業(yè)轉(zhuǎn)載請聯(lián)系作者獲得授權(quán),非商業(yè)轉(zhuǎn)載請注明出處蜂厅。
來源:力扣(LeetCode)
鏈接:https://leetcode-cn.com/problems/palindrome-number
著作權(quán)歸領(lǐng)扣網(wǎng)絡(luò)所有。商業(yè)轉(zhuǎn)載請聯(lián)系官方授權(quán)病游,非商業(yè)轉(zhuǎn)載請注明出處术奖。