• 【LeetCode】7. 整数反转


    来源

    https://leetcode-cn.com/problems/reverse-integer

    描述

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

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

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

    示例 3:
    输入: 120
    输出: 21

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

    int reverse(int x) {}

    思路:

    从低位开始遍历 (x) 中的每一位数字 (pop)
     查看是否溢出,
       大于最大值时,即 (result * 10 + pop > max),返回0
        (result > max / 10)
        (result == max / 10)(pop > max \% 10)
       小于最小值时,即 (result * 10 + pop < min),返回0
        (result < min / 10)
        (result == min / 10)(pop < min \% 10)
     更新当前结果 (result = result * 10 + pop)
     更新 (x) 的值 (x /= 10)

    C++

    展开后查看
    class Solution {
    public:
        int reverse(int x) {
            int result = 0;
            while(x != 0){
                int pop = x % 10;
                if(result > INT_MAX / 10 || (result == INT_MAX / 10 && pop > INT_MAX %10)){
                    return 0;
                }
                if(result < INT_MIN / 10 || (result == INT_MIN / 10 &&  pop < INT_MIN % 10)){
                    return 0;
                }
                result = result * 10 + pop;
                x /= 10;
            }
            return result;
        }
    };
    

    Java

    展开后查看
    class Solution {
        public int reverse(int x) {
            int result = 0;
            while(x != 0){
                int pop = x % 10;
                if(result > Integer.MAX_VALUE / 10 || (result == Integer.MAX_VALUE / 10 && pop > Integer.MAX_VALUE % 10)){
                    return 0;
                }
                if(result < Integer.MIN_VALUE / 10 || (result == Integer.MIN_VALUE / 10 && pop < Integer.MIN_VALUE % 10)){
                    return 0;
                }
                result = result * 10 + pop;
                x /= 10;
            }
            return result;
        }
    }
    
  • 相关阅读:
    session验证登陆- 页面跳转
    SQL 语句
    MD5加密
    【JS】布尔逻辑
    一道题
    正则表达式
    被搁置的生活 by刘瑜
    LoadRunner 12下载和安装教程
    Delphi Idhttp Post提交 Aspx/Asp.net 时 500错误的解决办法。
    phpmyadmin 4.x 版本无法看到登录框的处理
  • 原文地址:https://www.cnblogs.com/crazyBlogs/p/13085096.html
Copyright © 2020-2023  润新知