题:https://leetcode.com/problems/reverse-integer/description/
题目
Given a 32-bit signed integer, reverse digits of an integer.
Example 1:
Input: 123
Output: 321
Example 2:
Input: -123
Output: -321
Example 3:
Input: 120
Output: 21
Note:
Assume we are dealing with an environment which could only store integers within the 32-bit signed integer range: [−231, 231 − 1]. For the purpose of this problem, assume that your function returns 0 when the reversed integer overflows.
思路
题目大意
将数 s 翻转,要求:
1.保留相应的 正负号。
2.x的尾部作为0,翻转后舍去。
code
class Solution:
def reverse(self, x):
"""
:type x: int
:rtype: int
"""
flag = 1
if x<0 :
flag = -1
x = -x
res = 0
while x:
v = x%10
res = res * 10 + v
x //= 10
return res * flag*(res < 2**31)