描述
给出一个 32 位的有符号整数,你需要将这个整数中每位上的数字进行反转。
示例 1:
输入: 123 输出: 321 示例 2:
输入: -123 输出: -321 示例 3:
输入: 120 输出: 21 注意:
假设我们的环境只能存储得下 32 位的有符号整数,则其数值范围为 [−231, 231 −
1]。请根据这个假设,如果反转后整数溢出那么就返回 0。
来源:力扣(LeetCode) 链接:https://leetcode-cn.com/problems/reverse-integer
著作权归领扣网络所有。商业转载请联系官方授权,非商业转载请注明出处。
注意的几个点:
1、 负数‘-’的处理
2、 整数结尾处0的处理
3、 整数溢出的处理
第一次用python,写的我好难受,关键是刚开始看,就知道几个数据类型
def reverse(self, x: int) -> int:
if x == 0:
return 0;
s = str(x)
flag = True
if s[0] == '-':
flag = False
s = s[1:]
s = s[::-1]
while s[0] == '0':
s = s[1:]
n = int(s)
if n <= -2147483648 or n >= 2147483647:
return 0;
if flag:
return s
else:
return '-' + s