判斷一個整數是不是迴文數。迴文數是指正序(從左向右)和倒序(從右向左)讀都是同樣的整數。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