LeetCode算法题——翻转整数

题目

在这里插入图片描述

思路:

每次获取目标整数个位数,再每次乘以10加上最后余数达到翻转

tip:
% : 取余
/ : 取整

代码:

    public static int convert(int target) {
        int result = 0;
        if (target > Integer.MAX_VALUE || target < Integer.MIN_VALUE) {
            return 0;
        }
        while (target != 0) {
            result = result * 10 + target % 10;
            target = target / 10;
            if (result > Integer.MAX_VALUE / 10 || result < Integer.MIN_VALUE / 10) {
                return 0;
            }
        }
        return result;
    }

结果:

在这里插入图片描述

详解:

1、入参target = 321
2、结果初始值 result = 0
3、第一次循环、321%10 = 1 result = 1 target = 321/10 = 32 个位获取结束
4、第二次循环、32%10 = 2 result = 12 target = 32/10 = 3 获取除了个位数1的数即32的个位数,加上之前的个位数乘以10为结果最新值
5、第三次循环、3%10 = 3 result = 123 target = 3/10 = 0 同上
6、target !=0 条件不成立跳出循环,返回最终结果

  • 0
    点赞
  • 0
    收藏
    觉得还不错? 一键收藏
  • 0
    评论

“相关推荐”对你有帮助么?

  • 非常没帮助
  • 没帮助
  • 一般
  • 有帮助
  • 非常有帮助
提交
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值