【题目描述】
给出一个 32 位的有符号整数,你需要将这个整数中每位上的数字进行反转。
示例 1:
1 | 输入: 123 |
示例 2:
1 | 输入: -123 |
示例 3:
1 | 输入: 120 |
注意:
1 | 假设我们的环境只能存储得下 32 位的有符号整数,则其数值范围为 [−231, 231 − 1]。请根据这个假设,如果反转后整数溢出那么就返回 0。 |
Java
<解法一>字符翻转,抛异常
1 | public class leetCode007{ |
不了解StringBuilder,可以看这篇文章
执行结果:通过
*执行用时 : * 3 ms, 在所有 Java 提交中击败了27.00%的用户
内存消耗 : 36.4 MB, 在所有 Java 提交中击败了5.00%的用户
复杂度分析
时间复杂度:O(n)
空间复杂度:
<解法二>
1 | class Solution { |
疑问:题目要求《 假设我们的环境只能存储得下 32 位的有符号整数 》,long数据类型长度64位,不合题意?
因解法简单,故记录
执行结果:通过
执行用时 :1 ms, 在所有 Java 提交中击败了100.00%的用户
内存消耗 :36.9 MB, 在所有 Java 提交中击败了5.00%的用户
复杂度分析
时间复杂度:O(n)
空间复杂度:
本博客所有文章除特别声明外,均采用 CC BY-NC-SA 4.0 许可协议。转载请注明来自 yookbu!
评论