力扣第七题-整数反转

前言

力扣第七题如下所示:

在这里插入图片描述

一、思路

在仔细阅读题目后,可以从题目得知以下两个信息:

  • 输入:32位有符号整数,如 -123
  • 输出:从低位至高位的有符号整数,如 -321

以具体例子分析:

变量说明如下
x:输入值
target:输出值

输入: x = 3410913 为例(这个数是随手乱敲的~)
反转步骤:

  1. x % 10 = 3,拿到最低位 3
  2. target = 3 + target * 10 ,转为高位
  3. x = x / 10,丢弃 x 的最低位
  4. 重复 步骤 1~3

此题总结其实就一句话:取余拿到最低位,转为高位

二、实现

1. 实现代码

变量含义与上文思路中保持一致

    public int reverse(int x) {
        int target= 0;
        while (x != 0) {
        	// 超出范围,直接返回 0
            if (target < Integer.MIN_VALUE / 10 || target > Integer.MAX_VALUE / 10) {
                return 0;
            }
            // 低位转高位
            target = x % 10 + target * 10;
            // 丢弃低位
            x = x / 10;
        }
        return target;
    }
2. 测试代码
    public static void main(String[] args) {
        Number7 n = new Number7();
        System.out.println(n.reverse(1534236469));
    }
3. 执行结果

执行结果如下所示:
在这里插入图片描述

三、总结

今天是力扣第七题~
本系列将会更新力扣的1-10题,连续更新10天!

评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值