7. Reverse Integer

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

 

 

posted @ 2019-04-09 17:30  三年一梦  阅读(158)  评论(0编辑  收藏  举报