LeetCode 第七题--整数反转
Posted tjpeng
tags:
篇首语:本文由小常识网(cha138.com)小编为大家整理,主要介绍了LeetCode 第七题--整数反转相关的知识,希望对你有一定的参考价值。
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 第七题--整数反转的主要内容,如果未能解决你的问题,请参考以下文章
LeetCode 力扣7. Reverse Integer 整数反转 Java 解法