【刷题记录】7. 整数反转

简介: 【刷题记录】7. 整数反转

一、题目描述


来源:力扣(LeetCode)


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


如果反转后整数超过 32 位的有符号整数的范围[−

网络异常,图片无法展示
|
, $2^{31} − 1],就返回 0。


假设环境不允许存储 64 位整数(有符号或无符号)。


示例 1:


输入:x = 123


输出:321


示例 2:


输入:x = -123


输出:-321


示例 3:


输入:x = 120


输出:21


示例 4:


输入:x = 0


输出:0


提示:


-231 <= x <= 231 - 1


二、思路分析


按照正常思路我们很容易想到


  • 每次对数字取余 n = x % 10 记得到当前位的数字
  • 反转后的数字为 res = res * 10 + n


此时即可得到反转后的数字,但是以为题目要求


如果反转后整数超过 32 位的有符号整数的范围[−

网络异常,图片无法展示
|
, $2^{31} − 1],就返回 0。


  • 所有在每次进行下一位数数组的反转时,要判断res是否已经超出了题目的范围


三、代码实现

class Solution {
    public int reverse(int x) {
        int res =0;
while (x !=0) {
if (res < Integer.MIN_VALUE / 10 || res > Integer.MAX_VALUE / 10) {
                return 0;
            }
            int n = x % 10;
            x /=10;
            res = res * 10+ n;
        }
        return res;
    }
}


复杂度分析


  • 时间复杂度:
    网络异常,图片无法展示
    |
    。翻转的次数即 x 十进制的位数
  • 空间复杂度:
    网络异常,图片无法展示
    |


运行结果


网络异常,图片无法展示
|


总结


这个题目实现的思路来说,还是很容易想到的。
这道题目的重点是在于在于对反转后数组是否在题目规定范围内的处理。

目录
相关文章
|
存储 数据可视化 程序员
深夜测评:讯飞星火大模型vs FuncGPT (慧函数),到底哪家强?
作为一名程序员,我们可能在多种情况下需要找出两个List中的重复元素。以下是一些常见的应用场景:
|
数据可视化 数据挖掘 API
seaborn从入门到精通02-绘图功能概述
seaborn从入门到精通02-绘图功能概述
seaborn从入门到精通02-绘图功能概述
|
存储 安全 对象存储
阿里云对象存储服务
阿里云对象存储服务
240 1
【并发技术02】传统线程技术中的定时器技术
【并发技术02】传统线程技术中的定时器技术
|
数据可视化 Java C++
面试官:Java反射是什么?我回答不上来
面试官:Java反射是什么?我回答不上来
108 0
面试官:Java反射是什么?我回答不上来
|
数据安全/隐私保护 存储 Web App开发
|
监控
最新软件外包平台有哪些
互联网这些年发展的速度,想必也都看到了,所有的东西发展太快就会有弊端,需要后期的一个处理,经济发展环境恶劣,后期环境的整治,互联网发展生活方便了视野更旷阔了思维活跃,骗子多了,软件多了,个人信息不安全了。
2798 0
|
SDN 数据中心 虚拟化
|
SQL
SQL时间段的查询的两种执行方法
SELECT KS_Date, KS_MetalName, KS_TopLimit, KS_BottomLimit, KS_Average, KS_ChangeFROM KS_U_SpotPriceWHERE (KS_Date BETWEEN CONVERT(da...
744 0