首页 > 其他 > 详细

LeetCode 第七题--整数反转

时间:2019-10-04 16:35:15      阅读:77      评论:0      收藏:0      [点我收藏+]

 

1. 题目

2.思路

 

1. 题目

给出一个 32 位的有符号整数,你需要将这个整数中每位上的数字进行反转。

示例 1:

输入: 123
输出: 321
 示例 2:

输入: -123
输出: -321
示例 3:

输入: 120
输出: 21

2. 思路

   python的坑就在于取余,python的-123 %10 为7 -123 %-10 才为-3,还有就是/10 应该转化为int型,其余的就按照一位一位的弹出,然后判断是否溢出就可以了。

 

class Solution:
    def reverse(self, x: int) -> int:
        res = 0
        max1 = 2**31 -1
        min1 = -2**31
        temp1 = x 
        while temp1 != 0:
            if x > 0:
                temp2 = temp1%10
                if (res*10 > max1) or ((res == int(max1/10))and (temp2 > max1%10) ):
                    return 0
            if x < 0:
                temp2 = temp1%-10
                if (res*10 < min1) or((res == int(min1/10))and (temp2 < min1%-10) ):
                    return 0
            res = res*10 + temp2
            temp1 = int(temp1 /10)
        return res

 

LeetCode 第七题--整数反转

原文:https://www.cnblogs.com/tjpeng/p/11622330.html

(0)
(0)
   
举报
评论 一句话评论(0
关于我们 - 联系我们 - 留言反馈 - 联系我们:wmxa8@hotmail.com
© 2014 bubuko.com 版权所有
打开技术之扣,分享程序人生!