Determine whether an integer is a palindrome. An integer is a palindrome when it reads the same backward as forward.

Example 1:

Input: 121
Output: true

Example 2:

Input: -121
Output: false
Explanation: From left to right, it reads -121. From right to left, it becomes 121-. Therefore it is not a palindrome.

Example 3:

Input: 10
Output: false
Explanation: Reads 01 from right to left. Therefore it is not a palindrome.

 

class Solution {
public:
    bool isPalindrome(int x) {
        if(x < 0)
            return false;
        int a[12];
        int n = 0;
        int p = 0;
        while (x != 0) {
            int c = x%10;
            a[p++] = c;
            x /= 10;
            n++;
        }
        for(int i=0; i<n/2; i++) {
            if(a[i] != a[--p])
                return false;
        }
        return true;
    }

};

 

 posted on 2018-07-19 20:32  平和之心  阅读(144)  评论(0编辑  收藏  举报