1. 原始题目
给出一个 32 位的有符号整数,你需要将这个整数中每位上的数字进行反转。
示例 1:
输入: 123 输出: 321
示例 2:
输入: -123 输出: -321
示例 3:
输入: 120 输出: 21
注意:
假设我们的环境只能存储得下 32 位的有符号整数,则其数值范围为 [−231, 231 − 1]。请根据这个假设,如果反转后整数溢出那么就返回 0。
2. 解题
python注意正负数判断
1 class Solution: 2 def reverse(self, x: int) -> int: 3 temp = x 4 if temp<0: 5 temp = int(0-temp) # 原始为负数则先转为正数 6 results = 0 7 8 while(temp!=0): 9 results = results*10+temp%10 10 temp = int(temp/10) 11 12 if 0>x: results = 0-results 13 if -2**31<results<2**31-1: # 未超出范围则返回 14 return results 15 return 0