leetcode六月每日一題 leetcode9

在這裏插入圖片描述

這道題迴文數字判斷,首先想到的就是雙指針。但是,題目說不可以將數字轉化成字符串,所以,這道題就蛻變成了一個徹底的數學題了。。。

使用的一種方法是將數字中的每一位取出來,放到一個數組中,然後比較這個數組中的對應位是否相等來判斷是否爲迴文字符串

class Solution {
public:
    bool isPalindrome(int x) {

        if( x < 0 ) return false;

        int number[10]; //因爲數字最大爲 2147483647 10位就足夠
        int i = 0, j;

        while( x != 0)
        {
            number[i++] = x % 10;
            x /= 10;
        }

        for( j = 0 ; j < i; j ++ ){
            if( number[j] != number[-- i])
                return false;
        }

    return true;

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