给出一个 32 位的有符号整数,你需要将这个整数中每位上的数字进行反转。
class Solution:
def reverse(self, x: int) -> int:
xa = abs(x)
t = []
while(xa!= 0):
t.append(xa%10)
xa = int(xa/10)
rx = 0
l = len(t)- 1
while(l>=0):
rx = rx + (10**l)*int(t[len(t)-1-l])
l =l-1
if x < 0 :
rx = -rx
if rx >= -(2**31) and rx <=(2**31)-1:
return rx
else:
return 0
执行用时 :44 ms, 在所有 Python3 提交中击败了38.69%的用户
内存消耗 :13.7 MB, 在所有 Python3 提交中击败了5.23%的用户
好多知识点都忘了,这么简单的题目……python用的也不熟练,菜鸟互啄,困……明天起来继续看吧!
利用数组的切分:
a[开始截取位置:结束截取位置:步长] 包括开始截取位置字符,不包括结束截取位置字符。步长-1则代表反向截取
class Solution:
def reverse(self, x: int) -> int:
xa = abs(x)
stra = str(xa)
stra = int(stra[::-1])
if x<0:
stra = -stra
return stra if stra >=-2**31 else 0
return stra if stra <=2**31-1 else 0
执行用时 :36 ms, 在所有 Python3 提交中击败了74.58%的用户
内存消耗 :13.7 MB, 在所有 Python3 提交中击败了5.23%的用户
需要熟练掌握一下基础知识点,不然很麻烦……