博客
关于我
力扣(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/

    你可能感兴趣的文章
    python判断文件是空的,如果是空的,就删除
    查看>>
    python判断密码是否正确_python密码判断是否符合要求的方法
    查看>>
    python判断字符串包含中文_Python 判断字符串是否包含中文
    查看>>
    python删除第一行_Python 乱码指北:一行删掉根目录
    查看>>
    Python删除列表元素的三种方法
    查看>>
    python初步学习-python数据类型-集合(set)
    查看>>
    python列表生成字典_Python中将字典转换为列表的方法
    查看>>
    python列表对应元素合并为列表及判断一个列表是几维
    查看>>
    python列表去重复后按照顺序_从包含不可共元素的Python列表中删除重复元素,同时保留顺序?...
    查看>>
    python列表前几个_python之列表
    查看>>
    python列表元组
    查看>>
    Python列表/元组/字典和集合使用
    查看>>
    python列表 行列选择_python_pandas_dataframe_行列选择_切片操作
    查看>>
    python列表
    查看>>
    python列出当前目录、子目录和文件的脚本
    查看>>
    python+flask计算机毕业设计骨科门诊患者档案管理系统(程序+开题+论文)
    查看>>
    python+flask计算机毕业设计高校体测管理系统的设计与实现(程序+开题+论文)
    查看>>
    Python切片对象和__getitem__
    查看>>
    python+flask计算机毕业设计高校体育竞赛成绩管理系统的设计与实现(程序+开题+论文)
    查看>>
    python+flask计算机毕业设计高校体育赛事系统(程序+开题+论文)
    查看>>