1. 程式人生 > >9,迴文數

9,迴文數

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

示例 1:

輸入: 121
輸出: true

示例 2:

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

示例 3:

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

進階:

你能不將整數轉為字串來解決這個問題嗎?

 

class Solution {
    public boolean isPalindrome(int x) {
        if(x<0||(x % 10==0 && x!=0)) return false;
       
        return reverse(x)==x;
    }
    private int reverse(int x)
    {
        int res=0;
        while(x!=0)
        {
         if(res>Integer.MAX_VALUE/10)  return -1;            
           res=res*10 + x%10;
           x=x/10;           
        }
        return res;
    }
}