博客
关于我
强烈建议你试试无所不能的chatGPT,快点击我
Java反转整数
阅读量:4221 次
发布时间:2019-05-26

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

反转整数

反转整数,即逆序输出原数字,例如:

输入: 123 输出: 321
输入:-123输出:-321

下面是使用数学方法的解题步骤:

public int reverse(int x) {
/* 使用数学方法反转,下面是具体步骤 原数字: 321 反转数字:初始化为 0 1. 中间变量 = 原数字 % 10 = 321 % 10 = 1 原数字 = 原数字 / 10 = 321 / 10 = 32 反转数字 = 反转数字 * 10 + 中间变量 = 0 * 10 + 1 = 1 2. 中间变量 = 原数字 % 10 = 32 % 10 = 2 原数字 = 原数字 / 10 = 32 / 10 = 3 反转数字 = 反转数字 * 10 + 中间变量 = 1 * 10 + 2 = 12 3. 中间变量 = 原数字 % 10 = 3 % 10 = 3 原数字 = 原数字 / 10 = 3 / 10 = 0 反转数字 = 反转数字 * 10 + 中间变量 = 12 * 10 + 3 = 123 */ int n = x; int ans = 0; // 保存反转后的数字 int i = 0; int INT_MAX = Integer.MAX_VALUE; int INT_MIN = Integer.MIN_VALUE; while (n!=0) {
i = n % 10; n /= 10; // 检查越界 if ((ans > INT_MAX / 10) || ((ans == INT_MAX / 10) && i > 7) || (ans < INT_MIN / 10) || ((ans == INT_MIN / 10) && i < -8)) {
return 0; } ans = 10 * ans + i; } return ans; }

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

你可能感兴趣的文章
安卓:股票筛选及分析系统
查看>>
Effective Java 学习笔记一 Object的方法
查看>>
使用 ctypes 进行 Python 和 C 的混合编程
查看>>
用scikit-learn学习DBSCAN聚类
查看>>
机器学习:Python实现聚类算法(三)之总结
查看>>
使用sklearn做单机特征工程
查看>>
Python 多线程技巧 用threading.Event代替time.sleep()
查看>>
工具】Cmake与gcc的关系
查看>>
struct中长度为0的数组用途与原理
查看>>
svm笔记
查看>>
C++ 继承&多态
查看>>
C++多继承的观察和7点体会(都是实用派的观点) good
查看>>
python socket编程详细介绍
查看>>
高人对libsvm的经典总结(全面至极)
查看>>
Linux下c语言多线程编程
查看>>
火狐下easyui1.3.*弹出window框定位不到中间解决把办法
查看>>
Docker拉取镜像失败报错Error response from daemon: Get https://registry-1.docker.io解决办法
查看>>
IO操作的工具类总结
查看>>
对指定文件或目录进行压缩和解压缩的工具类总结
查看>>
Java中如何遍历Map对象的4种方法
查看>>