LeetCode:7. 整数反转
发布日期:2021-05-08 02:38:13 浏览次数:18 分类:精选文章

本文共 452 字,大约阅读时间需要 1 分钟。

整数反转

给定一个32位有符号整数,需要将其每位数字反转。

示例分析

输入:123 输出:321

输入:-123 输出:-321

输入:120 输出:21

注意事项

假设环境只能存储32位有符号整数,其范围为[-231, 231-1]。反转后如果溢出,返回0。

解决方案

首先,判断整数的符号。如果是负数,先去掉符号,反转后再添加负号。若为正数,直接反转数字。

代码实现

class Solution: def reverse(self, x: int) -> int: a = str(x) if a[0] == '-': b = a[1:] c = b[::-1] d = -int(c) else: b = a[::-1] d = int(b) return d if (-231 <= d < 231 -1) else 0

代码解释

将整数转换为字符串,检查是否为负数。负数情况下,去掉符号并反转后续数字,最后再加上负号。正数直接反转整个字符串。最后检查反转后的数值是否在允许范围内,否则返回0。

上一篇:LeetCode:1356. 根据数字二进制下 1 的数目排序(两种方法!)
下一篇:LeetCode:1470. 重新排列数组!!!!!

发表评论

最新留言

不错!
[***.144.177.141]2025年04月11日 11时07分29秒