【发布时间】:2021-07-10 17:39:45
【问题描述】:
给定一个带符号的 32 位整数 x,返回 x 并将其数字反转。如果反转 x 导致值超出有符号 32 位整数范围 [-2**31, 2**31 - 1],则返回 0。
假设环境不允许您存储 64 位整数(有符号或无符号)。
这是我的提交
class Solution(object):
def reverse(self, x):
sp= str(abs(x))[::-1].lstrip("0")
ans= int(sp)
if x > 0 :
return ans
else:
return -1*ans
int() 方法应该允许我传递一个字符串值(“12”),但它返回一个错误,指出它是 int() 的无效文字。
第 3 行中的变量 sp 是 str 而不是 float,所以我不知道为什么它在 leetcode 提交页面上没有运行,因为它运行在 VSCode 上没问题。
有没有我遗漏的评分准则?
而且,这是我得到的值错误
【问题讨论】:
-
您在反转之前清空字符串,即
''不是int。试试sp = str(abs(x))[::-1] -
考虑当值为
0时会发生什么。
标签: python algorithm runtime-error