美文网首页
力扣算法题-整数反转

力扣算法题-整数反转

作者: 庄周幻梦 | 来源:发表于2021-05-08 17:48 被阅读0次

给你一个 32 位的有符号整数 x ,返回将 x 中的数字部分反转后的结果。
如果反转后整数超过 32 位的有符号整数的范围 [−231, 231 − 1] ,就返回 0。
假设环境不允许存储 64 位整数(有符号或无符号)。

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

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

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

示例 4:
输入:x = 0
输出:0

提示:
-231 <= x <= 231 - 1

题解:

class Solution:
    def reverse(self, x: int) -> int:
        INT_MIN, INT_MAX = -2**31, 2**31 - 1

        rev = 0
        while x != 0:
            # INT_MIN 也是一个负数,不能写成 rev < INT_MIN // 10
            if rev < INT_MIN // 10 + 1 or rev > INT_MAX // 10:
                return 0
            digit = x % 10
            # Python3 的取模运算在 x 为负数时也会返回 [0, 9) 以内的结果,因此这里需要进行特殊判断
            if x < 0 and digit > 0:
                digit -= 10
            # 同理,Python3 的整数除法在 x 为负数时会向下(更小的负数)取整,因此不能写成 x //= 10
            x = (x - digit) // 10
            rev = rev * 10 + digit
       
        return rev


来源:力扣(LeetCode)
链接:https://leetcode-cn.com/problems/reverse-integer

相关文章

  • 力扣算法题-整数反转

    给你一个 32 位的有符号整数 x ,返回将 x 中的数字部分反转后的结果。如果反转后整数超过 32 位的有符号整...

  • 力扣算法 - 整数反转

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

  • js简单算法题-力扣(7)-整数反转

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

  • 力扣7 - 整数反转

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

  • 面试问到的算法

    快排,冒泡区别,两数之和,反转链表,判断环,数组中重复数组350 力扣 力扣26题

  • 每日算法(反转整数)-11.13

    今天下班时间比较晚,回来后只学习了一道算法,反转整数,下面开始记录题以及自己的分析。 反转整数 给定一个 32 位...

  • 力扣算法 - 反转链表

    反转链表 反转一个单链表。 示例: 输入: 1->2->3->4->5->NULL输出: 5->4->3->2->...

  • ATRS第1周

    ATRS Algorithm算法题: 两数之和 - 力扣 (LeetCode) ``` function twoS...

  • 实现整数的数字翻转

    题目:(力扣第7题) 思路,整数转换为字符串再转化为char数组方案一:逆序输出(暴力破解)数据结构:字符数组算法...

  • 个人技术点图片介绍

    算法:力扣第一题:https://www.jianshu.com/p/d578de7d1dc9力扣第二题:http...

网友评论

      本文标题:力扣算法题-整数反转

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