LeetCode-N9-迴文數

lanyu發表於2021-09-09

判斷一個整數是否是迴文數。迴文數是指正序(從左向右)和倒序(從右向左)讀都是一樣的整數。

示例 1:

輸入: 121
輸出: true

示例 2:

輸入: -121
輸出: false
解釋: 從左向右讀, 為 -121 。 從右向左讀, 為 121- 。因此它不是一個迴文數。

示例 3:

輸入: 10
輸出: false
解釋: 從右向左讀, 為 01 。因此它不是一個迴文數。

這個題和N7-反轉整數類似。先上程式碼

class Solution {
    public boolean isPalindrome(int x) {
        if(x  revert) {
            revert = revert * 10 + x % 10;
            x /= 10;
        }
        return x == revert || x == revert/10;
    }
}

不同之處有3點:

  1. 最前面的判斷, 若不符合直接返回false。
  2. 不需要做int邊界判定,因為最前面的判斷直接就排除了int越界的可能性。
  3. 返回值有個revert/10的判斷。Why?因為如果x是奇數位,比如12321,就需要與revert/10相等,反之,如果是偶數位,直接與revert相等即可。

感謝您的閱讀,若您喜歡,可以點選下方的的“推薦”支援我。謝謝!

也可以關注,會經常更新Java、演算法、Vue開發方面的文章哦~

來自 “ ITPUB部落格 ” ,連結:http://blog.itpub.net/2035/viewspace-2800571/,如需轉載,請註明出處,否則將追究法律責任。

相關文章