美文网首页
LeetCode_Python(7)_整数反转

LeetCode_Python(7)_整数反转

作者: 惑也 | 来源:发表于2019-01-01 23:04 被阅读61次

需求

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

示例 1:
输入: 123
输出: 321

示例 2:
输入: -123
输出: -321

示例 3:
输入: 120
输出: 21

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

解决思路

  1. 将整数转换为字符串,如果长度为1,则直接返回;
  2. 通过三元表达式判断,如果字符串首字符不是符号(-/+),则直接进行反转;如果字符串首字符是符号(-/+),则将不含符号的字符串进行反转,删除开头的o字符,再与符号进行拼接。
  3. 将反转后的字符串转换为整数值,通过三元表达式判断,如果整数值是32 位的整数,则直接返回,否则返回0。

参考代码

def get_reversed_int(x):
    x = str(x)
    if len(x) == 1:
        return x

    r = ''.join(reversed(x)) if x[0] not in ('-', '+') else x[0] + ''.join(reversed(x[1:])).lstrip('0')
    r = int(r) if -2**31 <= int(r) <= 2**31 - 1 else 0
    return r 

x = -12300
print(get_reversed_int(x))
-321

相关文章

  • LeetCode_Python(7)_整数反转

    需求 给出一个 32 位的有符号整数,你需要将这个整数中每位上的数字进行反转。 示例 1:输入: 123输出: 3...

  • 7 整数反转

    文|Seraph 01 | 问题 给出一个 32 位的有符号整数,你需要将这个整数中每位上的数字进行反转。 示例 ...

  • LeetCode-7 整数反转

    题目:7. 整数反转 难度:简单 分类:数学 解决方案:整数取模 今天我们学习第7题整数反转,这是个简单的数学题。...

  • Leecode: 7.整数反转

    在刷Leecode, 7.整数反转思路:将整数转为string后反转,再使用int()转回整数可以顺利提交代码,但...

  • [day1] [LeetCode] [title7,9]

    7. 反转整数 给定一个 32 位有符号整数,将整数中的数字进行反转。 示例1: 输入: 123 输出: 321 ...

  • 7. 反转整数

    20180919-摘抄自7. 反转整数 给定一个 32 位有符号整数,将整数中的数字进行反转。 示例 1: 输入:...

  • 算法练习四

    7. 反转整数 给定一个 32 位有符号整数,将整数中的数字进行反转。 示例 1: 输入: 123输出: 321示...

  • LeetCodeDay07 —— 反转整数&字符串中的第一个唯一

    7. 反转整数 描述 给定一个 32 位有符号整数,将整数中的数字进行反转。 示例 注意 假设我们的环境只能存储 ...

  • [腾讯精选练习50题][1]LeetCode7

    7.整数反转 题目 给出一个 32 位的有符号整数,你需要将这个整数中每位上的数字进行反转。 示例 1: 输入: ...

  • LeetCode 7 整数反转

    7 整数反转 一、题目 给出一个 32 位的有符号整数,你需要将这个整数中每位上的数字进行反转。 示例 1: 示例...

网友评论

      本文标题:LeetCode_Python(7)_整数反转

      本文链接:https://www.haomeiwen.com/subject/sbnolqtx.html