继续开始刷刷题了,直接在官网上做的,跑了三次,第一次错误是因为忘记考虑32位有符号整数的小细节,第二次错误是因为忘记考虑原始值的取值范围也要约束的细节。
题目描述:
Given a 32-bit signed integer, reverse digits of an integer.
----------------------------------------------------------------------------------------------------------------------------
python
class Solution(object):
def reverse(self, x):
"""
:type x: int
:rtype: int
"""
neg = False
res = 0
if x < 0:
x = -x
neg = True
while x != 0:
reminder = x % 10
x = x / 10
res = res * 10 + reminder
if neg == True:
res = -res
if abs(res) < 2147483648 and abs(x) < 2147483648:
return res
else:
return 0
题目很简单,就是整数取反,有符号加判断,32位有符号整数取值范围加判断,利用取余对整数进行取反。