整数反转
Contents
题目描述
给出一个 32 位的有符号整数,你需要将这个整数中每位上的数字进行反转。
示例 1:
|
|
示例 2:
|
|
示例 3:
|
|
注意:
假设我们的环境只能存储得下 32 位的有符号整数,则其数值范围为 [$−2^{31}, 2^{31} − 1$]。请根据这个假设,如果反转后整数溢出那么就返回 0。
来源:力扣(LeetCode) 链接:https://leetcode-cn.com/problems/reverse-integer
解题思路
- 转换前后的数值 满足数值范围要求
- 既然要实现数值的反转,最简单的是通过str[::-1]可以实现。所以要先把输入的数值转换为str格式
- 然后要判断输入的数值的正负,以及末尾是否为0:
- 如果即是负数,末尾又包含0,则数值部分为 str[1:-1] ,然后前面加上负号”-”
- 如果为负数,末尾不含有0,则数值部分为 str[:-1],然后前面加上负号”-”
- 如果既不是负数末尾也不为0,则直接返回转换后的数值 int(str)。注意,int函数,默认把数值最前面的0省略。
算法实现
|
|
1032 / 1032 个通过测试用例 | 状态:通过 |
---|---|
执行用时:28 ms内存消耗:13.7 MB | 执行用时击败99.62% |