leetcode 回文数

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

示例 1:

输入: 121
输出: true

示例 2:

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

示例 3:

输入: 10
输出: false
解释: 从右向左读, 为 01 。因此它不是一个回文数。
class Solution(object):
    def isPalindrome(self, x):
        """
        :type x: int
        :rtype: bool
        """
        num =str(x)
        pattern_number = re.compile(r'^\-')
        match_num = pattern_number.match(num)

        if match_num:
            return False
        else:
            num = list(num)
            if len(num)%2==0:
                num_sub_one = num[0:len(num)//2]
                num_sub_two = num[len(num)//2:]
                num_sub_two.reverse()
                if num_sub_one == num_sub_two:
                    return True
                else:
                    return False
            else:
                num_sub_one = num[0:len(num) // 2]
                num_sub_two = num[(len(num)//2+1):]
                num_sub_two.reverse()
                if num_sub_one == num_sub_two:
                    return True
                else:
                    return False

猜你喜欢

转载自my.oschina.net/u/2419889/blog/1801665