LeetCode刷题记录day3:反转数组

给出一个 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%的用户

需要熟练掌握一下基础知识点,不然很麻烦……

你可能感兴趣的:(leetcode,leetcode,python,数据结构)