整数反转

题目:

给你一个 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

思路:

题目很简单,一个简单的数字反转问题,关键问题在于32位的溢出管理,首先我们要知道32位整数的最大值和最小值,最大值为2147483647,最小值为-2147483648,所以我们只需要在算的时候往里面算,最后判断这个数是不是超出范围即可。

代码实现:

复制代码
int reverse(int x){
    int num=0;
    while(x/10){
        num=x%10+num*10;
        x/=10;
    }
    if(num>INT_MAX/10||(num==INT_MAX/10&&(x>7))){
        return 0;
    }else if(num<INT_MIN/10||(num==INT_MIN/10&&(x<-8))){
        return 0;
    }else{
        return num*10+x;
    }
}
相关推荐
大鱼>10 分钟前
宠物行为识别AI算法详解:从数据采集到模型部署的完整方案
人工智能·深度学习·算法·宠物
王莎莎-MinerU14 分钟前
解析回归集:RAG 和 Agent 上线前,先把表格、公式、版面测清楚
人工智能·算法·数据挖掘·回归·pdf·ocr
KaMeidebaby19 分钟前
卡梅德生物技术快报|兔单克隆抗体:噬菌体 Fab 免疫文库搭建实操:兔单克隆抗体重组构建完整参数
前端·网络·数据库·人工智能·算法
AndrewHZ20 分钟前
【LLM技术全景】混合精度与分布式训练:训练大模型的工程奥秘
人工智能·分布式·深度学习·算法·ai·语言模型·llm
AI科技星1 小时前
基于全域数学公理体系求解三元约束极值题【乖乖数学】
人工智能·算法·机器学习·密码学·拓扑学·乖乖数学·全域数学
伊玛目的门徒9 小时前
试用leetcode之典中典 二数之和问题
java·算法·leetcode
Jerry9 小时前
LeetCode 226. 翻转二叉树
算法
想做小南娘,发现自己是女生喵10 小时前
【无标题】
数据结构·算法
Kx_Triumphs12 小时前
HDU4348 To the moon(主席树区间修改模板)
算法·题解