LeetCode题解(0007):整数前后反转(Python)
发布日期:2021-06-29 19:51:35 浏览次数:3 分类:技术文章

本文共 733 字,大约阅读时间需要 2 分钟。

LeetCode题解(0007):整数前后反转(Python)

(简单)

解法 执行用时 内存消耗
Ans 1 (Python) 64ms (>6.66%) 13.6MB (>6.67%)
Ans 2 (Python) 40ms (>83.92%) 13.7MB (>6.67%)

解法一(转换为字符串反转):

def reverse(self, x: int) -> int:    l = [c for c in str(x).replace("-", "")]    l.reverse()    ans = int("".join(l))    if -pow(2, 31) < ans < pow(2, 31) - 1:        if x >= 0:            return ans        else:            return -ans    else:        return 0

解法二(通过数值运算反转):

def reverse(self, x: int) -> int:    if x < 0:        x = abs(x)        pre = -1    else:        pre = 1    ans = 0    while x > 0:        num = x % 10        x = x // 10        ans = ans * 10 + num    limit = pow(2, 31)    if -limit < ans < limit - 1:        return pre * ans    else:        return 0

转载地址:https://dataartist.blog.csdn.net/article/details/106749903 如侵犯您的版权,请留言回复原文章的地址,我们会给您删除此文章,给您带来不便请您谅解!

上一篇:LeetCode题解(0009):判断整数是否为回文数(Python)
下一篇:LeetCode题解(0004):寻找两个正序数组的中位数(Python)

发表评论

最新留言

第一次来,支持一个
[***.219.124.196]2024年04月15日 14时39分19秒