題目描述
Given a 32-bit signed integer, reverse digits of an integer.
Example 1:
Input: 123
Output: 321
Example 2:
Input: -123
Output: -321
Example 3:
Input: 120
Output: 21
Note:
Assume we are dealing with an environment which could only store integers within the 32-bit signed integer range: [?231, 231 ? 1]. For the purpose of this problem, assume that your function returns 0 when the reversed integer overflows.
Qiang的思路
class Solution:
def reverse(self, x: int) -> int:
MIN = - 2 ** 31
MAX = 2 ** 31 - 1
flag = 1 if x >= 0 else -1
x *= flag
res = 0
while x != 0:
res = res * 10 + x % 10
x = x // 10
res *= flag
return res if MIN <= res <= MAX else 0