|
马上注册,结交更多好友,享用更多功能^_^
您需要 登录 才可以下载或查看,没有账号?立即注册
x
本帖最后由 zltzlt 于 2019-9-14 14:02 编辑
今天的题目:
给出一个 32 位的有符号整数,你需要将这个整数中每位上的数字进行反转。
这道题已结束,进入奖励阶段。
注意:
假设我们的环境只能存储得下 32 位的有符号整数,则其数值范围为 [-2**31, 2**31-1] 。请根据这个假设,如果反转后整数溢出那么就返回 0。
我的解法:
- def reverse(num):
- num = str(num)[::-1].strip("0")
- if num.endswith("-"):
- num = "-" + num.strip([:-1])
- num = int(num)
- if not -2 ** 31 <= num <= 2 ** 31:
- return 0
- return num
复制代码
大佬解法:
- class Solution(object):
- def reverse(self, x):
- """
- :type x: int
- :rtype: int
- """
- flag = 0
- if x < 0:
- flag = 1
- if flag:
- s = str(x)[1:]
- s = s[::-1]
- x = -1 *int(s)
- else:
- s = str(x)
- s = s[::-1]
- x = int(s)
- if x < -1 * 2 **31 or x > 2** 31 -1:
- return 0
- return x
复制代码 |
|