leetcode Palindrome Number

palindrome number,是判斷一個int的值是否是迴文的,同時還要求空間複雜度爲o(1),也就是不能使用什麼輔助內存


最開始看到題目就想用vector,但是不行,其實解法也簡單,取最前面一個,最後面一個,然後比較,比較相等就把這兩位去掉,否則就直接可以return了,還是比較簡單的


class Solution {
public:
    bool isPalindrome(int x) {
        if(x<0)
            return false;
        long long len = 1;
        int leng = 0;
        int y = x;
        while(y>0)
        {
            leng++;
            len*=10;
            y/=10;
        }
        len/=10;
        leng/=2;
        for(int i = 0;i<leng;i++)
        {
            if(x/len!=x%10)
                return false;
            else
            {
                x = (x-x/len*len)/10;
                len/=100;
            }
        }
        return true;
    }
};

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