LeetCode解题报告---Reverse Integer
2015-06-03 03:55
489 查看
Reverse digits of an integer.
Example1: x = 123, return 321
Example2: x = -123, return -321
原题出处:https://leetcode.com/problems/reverse-integer/
解题思路:
如果输入”100”,”10000”,反转之后输出时应考虑前导‘0’;
输入溢出时时以及反转输出时溢出直接返回‘0’;
本题关键是如和处理溢出
转载请注明出处,谢谢!!
Example1: x = 123, return 321
Example2: x = -123, return -321
原题出处:https://leetcode.com/problems/reverse-integer/
解题思路:
如果输入”100”,”10000”,反转之后输出时应考虑前导‘0’;
输入溢出时时以及反转输出时溢出直接返回‘0’;
本题关键是如和处理溢出
/** * * @author ganyee Reverse digits of an integer. Example1: x = 123, return 321 * Example2: x = -123, return -321 */ public class ReverseInteger { public static void main(String[] args) { // TODO Auto-generated method stub // System.out.println(reverse(10000000)); // System.out.println(reverse(1534236469)); System.out.println(reverse(-2147483648)); System.out.println(reverse(9646351)); } public static int reverse(int x) { int flag = 0; long newX = x; //输入时判断是否溢出 if (newX < 0) { newX = Math.abs(newX); flag = 1; } else { newX = x; } if (newX == 0 || newX > Integer.MAX_VALUE) return 0; String str = Long.toString(newX); StringBuffer stringBuffer = new StringBuffer(str); str = stringBuffer.reverse().toString(); //输出是判断是否发生溢出 if (Long.parseLong(str) > Integer.MAX_VALUE) return 0; System.out.println(str); while (str.startsWith("0")) { str = str.substring(1); } if (flag == 1) { return (0 - Integer.parseInt(str)); } else { return Integer.parseInt(str); } } }
转载请注明出处,谢谢!!
相关文章推荐
- java对世界各个时区(TimeZone)的通用转换处理方法(转载)
- java-注解annotation
- java-模拟tomcat服务器
- java-用HttpURLConnection发送Http请求.
- java-WEB中的监听器Lisener
- Android IPC进程间通讯机制
- Android Native 绘图方法
- Android java 与 javascript互访(相互调用)的方法例子
- 介绍一款信息管理系统的开源框架---jeecg
- 聚类算法之kmeans算法java版本
- java实现 PageRank算法
- PropertyChangeListener简单理解
- 插入排序
- 冒泡排序
- 堆排序
- 快速排序
- 二叉查找树
- [原创]java局域网聊天系统