【Leetcode算法題】9. 迴文數

題目描述

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

示例

示例 1:
輸入: 121
輸出: true

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

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

進階

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

解題思路

class Solution {
    public boolean isPalindrome(int x) {
        //邊界判斷
        if(x<0){
            return false;
        }
        //判斷是幾位數
        int div=1;
        while(x/div>=10){
            div*=10;
        }
        while(x>0){
            //首位
            int left=x/div;
            //末位
            int right=x%10;
            if(left!=right){
                return false;
            }
            x=(x%div)/10;
            div/=100;
        }
        return true;
    }
}

 

發表評論
所有評論
還沒有人評論,想成為第一個評論的人麼? 請在上方評論欄輸入並且點擊發布.
相關文章