class Solution {
public boolean isPalindrome(int x) {
if(x < 0 || (x % 10 == 0 && x != 0)) return false;
int res = 0;
while(x > res){
res = x % 10 + res * 10;
x /= 10;
}
return x == res || x == res / 10;
}
}io
總結:class
1.原本想用if( x != 0 && (x < 11 || x % 10 ==0))這個判斷,可是發現當1時,應該返回true,應該0-9都算迴文了,因此這個判斷行不通。總結
2.當計算一半時,就能夠驗證是不是迴文,好比1331,獲得13,跟原數1331前一部分比較是相等的。while
3.最後是位數奇數偶數進行不一樣判斷,奇數就回文除10return
還行挺簡單的,這個本身寫出來一部分,看答案寫了一部分。