Leecode-009 Posted on 2020-03-10 | In Leecode 题目 12判断一个整数是否是回文数。 回文数是指正序(从左向右)和倒序(从右向左)读都是一样的整数。 示例 123456789101112输入: 121 输出: true 输入: -121 输出: false 解释: 从左向右读, 为 -121 。 从右向左读, 为 121- 。因此它不是一个回文数。 输入: 10 输出: false 解释: 从右向左读, 为 01 。因此它不是一个回文数。 其他限制条件 123进阶: 你能不将整数转为字符串来解决这个问题吗? 解题 先用字符串处理一下 1234567class Solution: def isPalindrome(self, x: int) -> bool: a = str(x)[::-1] if str(a) == str(x): return True else: return False 进阶要求不适用字符串 考虑使用数字解决问题 1234567891011def isPalindrome(self, x: int) -> bool: if x < 0 or (x % 10 == 0 and x != 0): return False revertedNumber = 0 while x > revertedNumber: revertedNumber = revertedNumber * 10 + x % 10 x //= 10 if revertedNumber == x or revertedNumber // 10 == x: return True else: return False 注意python3使用//为整除