LeetCode #7 Reverse Integer 翻转整数 解题小节
2016-03-10 23:51
218 查看
1 原题
Reverse Integer 翻转Reverse digits of an integer.
Example1: x = 123, return 321
Example2: x = -123, return -321
2 解析
大水题啊,就是给定一个数,让你翻转。。。就是小心溢出就好。。防止溢出方式很多:
1、比如转变成Long,再加判断就不会溢出了。。
2、或者找到比最大最小值小10被的,提前预防
至于到转么,不就是一个/ 一个% 的配合么,不多说了
3 AC Java解
public class Solution { /** * 最简单的方式,采用long拓展,并且提前判断是否超出了Integer范围,flag是符号 * **/ public int reverse2(int x) { if(x==0) return x; long tmp=Math.abs(x); long flag=tmp/x; long result=0; while (tmp>0){ if(result*10>Integer.MAX_VALUE || result*10<Integer.MIN_VALUE) return 0; result=result*10+tmp%10; tmp=tmp/10; } return (int)(flag*result); } /** * 不用也可以嗒,提前算好就好 * */ public int reverse(int x) { if(x==0) return x; int tmp=Math.abs(x); int flag=tmp/x; int result=0; int maxs=Integer.MAX_VALUE/10; int mins=Integer.MIN_VALUE/10; while (tmp>0){ if(result > maxs|| result < mins) return 0; result=result*10+tmp%10; tmp=tmp/10; } return (flag*result); } }
相关文章推荐
- 数学#素数筛法 HDU 4548&POJ 2689
- 周例会的作用
- The Swift Programming Language 中英文双语版
- webkit
- 周例会的作用
- Mathematics:Find a multiple(POJ 2356)
- Codeforces Round #273 (Div. 2)(D)dp,滚动数组
- HDU 1040 As Easy As A+B
- 开发工具之play framework
- tinyos学习之day 2
- [解决]OS X 下 Python 导入 PIL 中的 ImageGrab 错误
- 如何设计好的UI控件
- 8VC Venture Cup 2016 - Final Round (Div. 2 Edition) A
- 转载文章----软件工程导论
- void 0 等于 undefined 为什么不直接用undefined
- java中String,StringBuffer,StringBuilder拼接效率对比
- Codeforces Round #344 (Div. 2) A. Interview
- 常见排序算法总结
- 第三方SDK:讯飞语音听写
- LeetCode 2.Add Two Numbers