博客
关于我
力扣(LeetCode) -- 算法第七题-- 整数反转
阅读量:343 次
发布时间:2019-03-04

本文共 1150 字,大约阅读时间需要 3 分钟。

为了解决这个问题,我们需要将给定的32位有符号整数反转数字部分,并检查反转后的结果是否超过32位整数的范围。如果超出范围,则返回0。

方法思路

  • 处理符号:首先判断输入整数的符号,处理绝对值部分进行反转。
  • 反转数字:使用循环逐步反转数字,每次取出个位数字并将其添加到结果中。
  • 检查范围:在每一步反转过程中,检查反转后的结果是否会超过32位整数的最大值或最小值。如果超过,立即返回0。
  • 返回结果:如果反转后的结果在范围内,考虑符号并返回结果。
  • 解决代码

    public class Solution {    public int reverse(int x) {        if (x == 0) {            return 0;        }        int sign = x < 0 ? -1 : 1;        long xAbs = Math.abs((long) x);        long reversed = 0;        while (xAbs != 0) {            int digit = (int) (xAbs % 10);            xAbs /= 10;            long temp = reversed * 10 + digit;            if (temp > Integer.MAX_VALUE) {                return 0;            }            if (temp < Integer.MIN_VALUE) {                return 0;            }            reversed = temp;        }        if (sign == -1) {            if (reversed < Integer.MIN_VALUE) {                return 0;            }            return - (int) reversed;        }        return (int) reversed;    }}

    代码解释

  • 符号处理:首先检查输入值是否为0,如果是,则直接返回0。否则,记录符号并处理绝对值部分。
  • 循环反转:使用循环逐步取出数字个位,构建反转后的结果。
  • 范围检查:在每一步反转后,检查结果是否超过整数范围,如果超过,立即返回0。
  • 符号恢复:如果输入值为负数,检查结果是否在最小值范围内,否则返回反转结果。
  • 这种方法确保了在每一步都检查结果是否在允许范围内,从而避免了溢出或错误结果。

    转载地址:http://rbse.baihongyu.com/

    你可能感兴趣的文章
    npm scripts 使用指南
    查看>>
    npm should be run outside of the node repl, in your normal shell
    查看>>
    npm start运行了什么
    查看>>
    npm WARN deprecated core-js@2.6.12 core-js@<3.3 is no longer maintained and not recommended for usa
    查看>>
    npm 下载依赖慢的解决方案(亲测有效)
    查看>>
    npm 安装依赖过程中报错:Error: Can‘t find Python executable “python“, you can set the PYTHON env variable
    查看>>
    npm.taobao.org 淘宝 npm 镜像证书过期?这样解决!
    查看>>
    npm—小记
    查看>>
    npm上传自己的项目
    查看>>
    npm介绍以及常用命令
    查看>>
    NPM使用前设置和升级
    查看>>
    npm入门,这篇就够了
    查看>>
    npm切换到淘宝源
    查看>>
    npm切换源淘宝源的两种方法
    查看>>
    npm前端包管理工具简介---npm工作笔记001
    查看>>
    npm包管理深度探索:从基础到进阶全面教程!
    查看>>
    npm升级以及使用淘宝npm镜像
    查看>>
    npm发布包--所遇到的问题
    查看>>
    npm发布自己的组件UI包(详细步骤,图文并茂)
    查看>>
    npm和package.json那些不为常人所知的小秘密
    查看>>