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.
class Solution:
def reverse(self, x):
"""
:type x: int
:rtype: int
"""
flag = True
if x < 0:
flag = False
x = -x
temp = []
while x!=0:
temp.append(x%10)
x = int(x/10)
for i in range(len(temp)):
x = x*10+temp[i]
if flag == False:
x = -x
if x >= 2**31-1 or x <= -2**31:
return 0
return x
注意判断大小是否超出是判断转换之后的数字。
ps.才知道博客园也可以用markdown的