Last updated 2 years ago
反转数字_牛客题霸_牛客网
问题简述
给定一个32位的有符号整数num,将num中的数字部分反转,最后返回反转的结果 1.只反转数字部分,符号位部分不反转 2.反转后整数num超过 32 位的有符号整数的范围 [−2^31, 2^31 − 1] ,返回 0
思路
要点:越界判断;
Python 中不会越界,直接跟边界比较即可;
class Solution: def reverse(self , x: int) -> int: sign = -1 if x < 0 else 1 x = abs(x) ret = 0 while x: c = x % 10 ret = ret * 10 + c if ret > 2 ** 31 - 1: return 0 x //= 10 return ret * sign