您的位置:首页 > 其它

LeetCode 题 -7. 整数反转

2019-03-29 09:29 162 查看

题目

给出一个 32 位的有符号整数,你需要将这个整数中每位上的数字进行反转。

示例 1:

输入: 123
输出: 321

示例 2:

输入: -123
输出: -321

示例 3:

输入: 120
输出: 21

注意:

假设我们的环境只能存储得下 32 位的有符号整数,则其数值范围为 [−231, 231 − 1]。请根据这个假设,如果反转后整数溢出那么就返回 0。

  • 使用python解答主要思路还是转字符串然后切片反转

具体代码如下:

def reverse( x):
"""
:type x: int
:rtype: int
"""
if x == 0:
return 0
str_x = str(x)  # 将int型数字转成字符串
x = ''  # 设一个空字符串
if str_x[0] == '-':  # 判断该数字是否为负数
x += '-'  # 如果是负数 让x保存负号  如果不是负数x字符串就还是空的
x += str_x[len(str_x) - 1::-1].lstrip("0").rstrip("-")
# 使用切片反转字符串后用lstrip去除字符串开头的0,使用rstrip去除字符串末尾的负号
# 再和x加到一起
x = int(x)  # 将字符串转成int型
if -2 ** 31 < x < 2 ** 31 - 1:  # 最后判断32位字符超限,如果超限返回0
return x
return 0
内容来自用户分享和网络整理,不保证内容的准确性,如有侵权内容,可联系管理员处理 点击这里给我发消息
标签: