Reverse Integer - 反转一个int,溢出时返回0
Reverse Integer
Reverse digits of an integer.
Example1: x = 123, return 321
Example2: x = -123, return -321
若反转的数溢出,直接返回0
可以用计算结果来判断溢出,也可以用因数来判断
Java代码实现:
public class ReverseInteger {
public static int reverseInt(int x){
if (x == 0) {
return 0;
}
int flag = -1;
int result = 0;
if (x < 0) {
x = x * flag;
if (x < 0) {
return 0;
}
} else {
flag = 1;
}
int digits = 1;
int temp = x;
while(temp/10 != 0){
digits++;
temp/=10;
}
//judge before calculate at every may out of range place
for (int i = 1; i <= digits; i++) {
int a,b;
a = (int) (x/Math.pow(10, i-1));
a = a%10;//get the single number
b = (int) Math.pow(10, digits-i);
if ((a*b<0) || (a > 2 && (digits - i) == 9)) {//use number to judge
return 0;
} else {
temp = a*b;
}
if (result + temp < 0) {//judge
return 0;
} else {
result += temp;
}
}
return result*flag;
}
public static void main(String args[]){
int max = 2147483647;
int min = -2147483648;
System.out.println(reverseInt(0));
System.out.println(reverseInt(1534236469));
System.out.println(reverseInt(-2133847412));
}
}
输出:
0
0
-2147483312
Reverse Integer - 反转一个int,溢出时返回0的更多相关文章
- Reverse bits - 按位反转一个int型数字
Reverse bits of a given 32 bits unsigned integer. For example, given input 43261596 (represented in ...
- [Leetcode] reverse integer 反转整数
Reverse digits of an integer. Example1: x = 123, return 321Example2: x = -123, return -321 click to ...
- leetcode:Reverse Integer(一个整数反序输出)
Question:Reverse digits of an integer. Example1: x = 123, return 321Example2: x = -123, return -321 ...
- 【LeetCode每天一题】Reverse Integer(反转数字)
Given a 32-bit signed integer, reverse digits of an integer. Example 1: ...
- 7. Reverse Integer 反转整数
[抄题]: 将一个整数中的数字进行颠倒,当颠倒后的整数溢出时,返回 0 (标记为 32 位整数). 样例 给定 x = 123,返回 321 给定 x = -123,返回 -321 [暴力解法]: ...
- [leetcode]7. Reverse Integer反转整数
Given a 32-bit signed integer, reverse digits of an integer. Example 1: Input: 123 Output: 321 Examp ...
- 问题-[Delphi]用LoadLibrary加载DLL时返回0的错误
问题现象:用LoadLibrary加载DLL一直返回0句柄,无法进行下一步操作,但同样的代码可以访问到别的DLL.问题处理:1.你加载的路径是不对的,一定要看好路径.2.你是在虚拟机中操作的DLL,因 ...
- leetcode 7 reverse integer 反转整数
描述: 给定32位整数,反转,如321转成123. 解决: 关键是溢出检测: int reverse(int x) { ; int temp; while (x) { temp = ret * + x ...
- 写一个函数,实现两个字符串的比较。即实现strcmp函数,s1=s2时返回0,s1!=s2时返回二者第一个不同字符的ASCII值。
#include<stdio.h> #include<stdlib.h> int main(){ setvbuf(stdout,NULL,_IONBF,); ],s2[]; i ...
随机推荐
- vs2015未安装 Style 的 Visual Studio 语言支持
解决方案:在浏览器搜索下载安装Microsoft ASP.NET and Web Tools即可 下载地址:https://www.microsoft.com/en-us/download/confi ...
- Python初探
Q:DBA是运维数据库,为什么还要懂开发? A: 维护:维护的机器太多了,很多重复的操作,需要开发出工具来实现 监控:所有机器的运行情况和健康状况都需要了解,全盘掌握cup.内存.磁盘.网络流量.数据 ...
- DOM事件类型总结大全
unload:事件在用户退出页面时发生 window.onload = function(){ return "页面关闭!"; }; onblur:失去焦点发生变化 window. ...
- jquery fadeIn用法
$("#msgSpan").fadeIn("slow"); setTimeout('$("#msgSpan").hide("slo ...
- OpenCV学习1-----打开摄像头并在画面上添加水印
一直对视频或者图像添加水印很感兴趣,查找资料后用OpenCV尝试了一下. 记录下来. 1.首先是打开摄像头. 找到OpenCV官方文档给出的例子. 例子中实现的是,打开摄像头,并对画面进行高斯滤波,使 ...
- 【LeetCode】94. Binary Tree Inorder Traversal
题目: Given a binary tree, return the inorder traversal of its nodes' values. For example:Given binary ...
- 5.如何修改maven本地仓库
首先测试机子上时候安装上maven,步骤是win+r-->cmd-->mvn -v-->看其是否出现如下字样: 如果时间长了你忘记了你安装的maven目录或者jdk目录,那么下面 ...
- 5.Smart使用内置函数或者自定义函数
1.使用内置函数 例如使用date函数 {"Y-m-d"|date:$time}格式{第一个参数|方法:第二个参数:第三个参数}即可转换成 2016-07-19 2.使用resi ...
- axis1.4开发webservice客户端(快速入门)-基于jdk1.4
写在前面: 对于客户端,服务端开发好了以后,客户端只需要调用就可以了.这里我们讲的是,根据服务的访问地址,来生成客户端所需要用到的代码(听说有几种调用方式,但是用到最常见的就是stub方式,貌似我说的 ...
- Hibernate使用注解进行ORM映射实例
在上一篇博客中,我们通过xml配置文件进行实体类和表的映射,但是近两年来有更多的项目对一些比较稳定的实体类使用了注解进行ORM映射,这样使得编程更加简洁.简单.其实使用注解进行ORM映射和使用xml进 ...