继续开始刷刷题了,直接在官网上做的,跑了三次,第一次错误是因为忘记考虑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位有符号整数取值范围加判断,利用取余对整数进行取反。