7.反转整数 by 2018-04-22

class Solution {
public:
    int reverse(int x) {
        int res = 0;
        while (x) 
        {
            if (res > INT_MAX / 10 || res < INT_MIN / 10)
                return 0;
            res = res * 10 + x % 10;
            x /= 10;
        }
        return res;
    }
};

本题关键点在于溢出的判断:

if (res > INT_MAX / 10 || res < INT_MIN / 10)
    return 0;

检查溢出的不等式来自于:res * 10 + x % 10 > INT_MAX。此不等式若成立,则会溢出,返回0即可。

©著作权归作者所有,转载或内容合作请联系作者
【社区内容提示】社区部分内容疑似由AI辅助生成,浏览时请结合常识与多方信息审慎甄别。
平台声明:文章内容(如有图片或视频亦包括在内)由作者上传并发布,文章内容仅代表作者本人观点,简书系信息发布平台,仅提供信息存储服务。

相关阅读更多精彩内容

  • 1. 关于诊断X线机准直器的作用,错误的是()。 (6.0 分) A. 显示照射野 B. 显示中心线 C. 屏蔽多...
    我们村我最帅阅读 13,766评论 0 5
  • 1. Java基础部分 基础部分的顺序:基本语法,类相关的语法,内部类的语法,继承相关的语法,异常的语法,线程的语...
    子非鱼_t_阅读 33,212评论 18 399
  • 回溯算法 回溯法:也称为试探法,它并不考虑问题规模的大小,而是从问题的最明显的最小规模开始逐步求解出可能的答案,并...
    fredal阅读 14,696评论 0 89
  • 觉察日记 背景:今天听一个同事分享我曾经做过的一个项目 我的事实:更新了项目信息;看到同事身上的闪光点 我的感受:...
    LiannaYe阅读 1,540评论 0 0
  • 我宁愿留在你的方圆几里 我的心要不回就送你 因为我爱你 和你没关系
    南有乔木100771阅读 1,441评论 0 0

友情链接更多精彩内容