9. 回文数

判断一个整数是否是回文数。回文数是指正序(从左向右)和倒序(从右向左)读都是一样的整数。

示例 1:

输入: 121
输出: true

示例 2:

输入: -121
输出: false
解释: 从左向右读, 为 -121 。 从右向左读, 为 121- 。因此它不是一个回文数。

示例 3:

输入: 10
输出: false
解释: 从右向左读, 为 01 。因此它不是一个回文数。

代码

class Solution {
public:
    bool isPalindrome(int x) {
        
        //negative number
        if(x < 0)
            return false;
            
        int len = 1;
        while(x / len >= 10)
            len *= 10;
            
        while(x > 0)    {
            
            //get the head and tail number
            int left = x / len;
            int right = x % 10;
            
            if(left != right)
                return false;
            else    {
                //remove the head and tail number
                x = (x % len) / 10;
                len /= 100;
            }
        }
        
        return true;
    }
};

你可能感兴趣的:(9. 回文数)