palindrom integer

题目描述

解题方法

快速得到最大digit的方法,利用math.log10()

Solution

class Solution(object):
    def isPalindrome(self, x):
        """
        :type x: int
        :rtype: bool
        """
        if x < 0:
            return False
        elif x == 0:
            return True

        numDigits = int(math.log10(x)) + 1
        msdMask = 10 ** (numDigits-1)

        for i in range(int(numDigits/2)):
            msd = x / msdMask
            lsd = x % 10
            if msd != lsd:
                return False
            x %= msdMask
            x /= 10
            msdMask /= 100

        return True

Reference