7. 整数反转

题目自己去官网看吧!

主要是这几点

1. 我们要保证数字翻转

2. 保证前后符号位不发生变化

3. 保证我们处理后的数据在-2147483648~2147483648范畴内

我刚看到就突然想到使用str来处理此问题,不通过数学方式的计算,直接用文本去拼接

最后结果是内存消耗较为严重,13.6MB,目测全部都是string字符和list占用的

接下来优化,试着用Number去处理

class Solution:
    # -2147483648~2147483648
    def reverse(self, x: int) -> int:
        xstr = str(x)
        result = []
        up = False
        if(x < 0):
            up = True
            xstr = xstr.strip('-')
        length = len(xstr)
        for i in range(length):
            result.append(xstr[length - i - 1])
        data = int('-' + ''.join(result) if up else ''.join(result))
        return data if data < 2147483648 and data > -2147483648 else 0


if __name__ == "__main__":
    solution = Solution()
    rw = solution.reverse(1534236469)
    print(rw)
原文地址:https://www.cnblogs.com/kongkongFabian/p/13895844.html