Reverse Integer leetcode java
2015-12-16 16:23
295 查看
问题描述:
Reverse digits of an integer.
Example1: x = 123, return 321
Example2: x = -123, return -321
分析:将一个整数逆序输出,需要判断是否越界。Integer.MAX_VALUE,Integer.MIN_VALUE,由于要进行正、负越界判断,因此,若是负数,则要转换为整数。
代码
Reverse digits of an integer.
Example1: x = 123, return 321
Example2: x = -123, return -321
分析:将一个整数逆序输出,需要判断是否越界。Integer.MAX_VALUE,Integer.MIN_VALUE,由于要进行正、负越界判断,因此,若是负数,则要转换为整数。
代码
public int reverse(int x) { int ret = 0; int digit = 0; boolean neg_flag = false; if (x < 0) { neg_flag = true; x = -1 * x; //covert to abs(x), and record the symbol of negative or positive. } while (x != 0) { digit = x % 10; //get the last digit of x,获得x的最末尾数字 //if ret overflows? if (ret != 0) { //must follow this pattern to check if ((Integer.MAX_VALUE - digit) / ret < 10 ) return 0; if (neg_flag == true) { if (-10 < (Integer.MIN_VALUE + digit) / ret) // - (ret * 10 + digit) < Integer.MIN_VALUE //if we convert the number to abs, we need to compare it in negative form with Integer.MIN_VALUE return 0; } } ret = ret * 10 + digit; x = x / 10; //chop off the last digit of x,斩断x的最末尾数字 } if (neg_flag == true) ret = -1 * ret; return ret; }
相关文章推荐
- 几种很有用的java库
- Java工程师被阿里拒绝的理由都有哪些?
- spring 注意点
- 错误:java.lang.IllegalArgumentException:No view found for id for&nbsp
- java图形界面设计1(AWT)
- 老调重弹:JDBC系列之<驱动加载原理全面解析)
- Java设计模式—单例设计模式(Singleton Pattern)完全解析
- spring mvc常用的注解
- 在spring中读取properties配置文件里面的信息
- Eclipse连接MySQL数据库(傻瓜篇)
- JAVA实现FTP断点上传
- javaIO
- springMVC+hibernate框架搭建异常
- Spring学习笔记<二>
- spring aop通配符的各种解释
- Spring定时器的配置和使用
- Java配置
- java实现:扑克牌
- 更改MyEclipse生成的Servlet模板和Jsp模板
- Java 吸血鬼数字