问题出处:回文数
题目描述
判断一个整数是否是回文数,当一个整数从前向后读与从后向前读相同时,它就是回文数。
示例1:
Input: 121
Output: true
示例2:
Input: -121
Output: false
说明: 从左到右读成 -121,从右到左变为121-。因此它不是回文数。
示例3:
Input: 10
Output: false
说明: 从右到左为 01 。因此它不是回文数。
注意
假设只能存储 32 位有符号整数,其数值范围是 [−2^31^, 2^31^ − 1]
。根据这个假设,如果反转后的整数溢出,则返回 0。
解题思路
- 整数取10的余数与result*10相加,每次result前进一位,将余数作为各位相加,然后x/10,直至x等于0
class Solution:
def reverse(self, x):
return self.get_result(x) if x > 0 else -self.get_result(abs(x))
def get_result(self, x):
result = 0
while x !&