LeetCode 7.整数翻转

题目描述:

给出一个 32 位的有符号整数,你需要将这个整数中每位上的数字进行反转。

示例 1:

输入: 123
输出: 321
示例 2:

输入: -123
输出: -321
示例 3:

输入: 120
输出: 21
注意:

假设我们的环境只能存储得下 32 位的有符号整数,则其数值范围为 [−231, 231 − 1]。请根据这个假设,如果反转后整数溢出那么就返回 0。

int reverse(int x) {
    int temp = x, num = 0;
    while (x) {
        if (num > INT32_MAX / 10 || (num == INT32_MAX / 10 && (x % 10) > 7)) {
            return 0;
        }
        if (num < INT32_MIN / 10 || (num == INT32_MIN / 10 && (x % 10) < -8)) {
            return 0;
        }
        num = num * 10 + x % 10;
        x /= 10;
    }
    return num;
}
©著作权归作者所有,转载或内容合作请联系作者
平台声明:文章内容(如有图片或视频亦包括在内)由作者上传并发布,文章内容仅代表作者本人观点,简书系信息发布平台,仅提供信息存储服务。

推荐阅读更多精彩内容

  • 给出一个 32 位的有符号整数,你需要将这个整数中每位上的数字进行反转。 示例 1: 示例 2: 示例 3: 注意...
    dreamkong阅读 461评论 0 1
  • 前言 本系列,希望使用Python通关LeetCode,暂时开始做简单题。初次刷LeetCode目的是为了提高自己...
    3inchtime阅读 1,562评论 1 1
  • 需求 给出一个 32 位的有符号整数,你需要将这个整数中每位上的数字进行反转。 示例 1:输入: 123输出: 3...
    惑也阅读 956评论 0 1
  • 先做Easy级别的题目吧~(由于刚开始刷还没规划好,这篇里面先夹杂了两道中等难度的题) 1-两数之和 要求 给定一...
    aaanthony阅读 720评论 0 0
  • 明日复明日,明日何其多。我生待明日,万事成蹉跎。世人若被明日累,春去秋来老将至。朝看水东流,暮看日西坠。百年明日能...
    无盐有点言阅读 527评论 0 1