在刷一道題,數字迴文,以之前作過,恰好昨天也作了一個相似的題,數字反轉,原理有點像-----9. Palindrome Number

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

還行挺簡單的,這個本身寫出來一部分,看答案寫了一部分。

相關文章
相關標籤/搜索