判断一个整数是不是回文数。回文数是指正序(从左向右)和倒序(从右向左)读都是同样的整数。python
示例 1:code
输入: 121 输出: true
示例 2:io
输入: -121 输出: false 解释: 从左向右读, 为 -121 。 从右向左读, 为 121- 。所以它不是一个回文数。
示例 3:class
输入: 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