LeetCode - Reverse Integer - Frequent
2015-03-29 05:56
211 查看
https://leetcode.com/problems/reverse-integer/
Reverse digits of an integer.
Example1: x = 123, return 321
Example2: x = -123, return -321
要注意的主要问题就是溢出。。。。
我用的JAVA,当输入x=Integer.MIN_VALUE时,Math.abs(x)居然不会起作用,即仍然是个负数。。。因此当x是最大整数和最小整数,就判断一定溢出,直接返回0。
然后从小到大依次取每一位的数,再合成成新数,注意颠倒后的数可能溢出,因此结果用long保存,然后再判断是否溢出了。
代码如下:
Reverse digits of an integer.
Example1: x = 123, return 321
Example2: x = -123, return -321
要注意的主要问题就是溢出。。。。
我用的JAVA,当输入x=Integer.MIN_VALUE时,Math.abs(x)居然不会起作用,即仍然是个负数。。。因此当x是最大整数和最小整数,就判断一定溢出,直接返回0。
然后从小到大依次取每一位的数,再合成成新数,注意颠倒后的数可能溢出,因此结果用long保存,然后再判断是否溢出了。
代码如下:
public int reverse(int x) { if(x==Integer.MIN_VALUE || x == Integer.MAX_VALUE) return 0; boolean positive = true; if(x<0) positive = false; int abs = Math.abs(x); long val = 0; while(abs>0){ int digit = abs%10; val = val*10 + digit; abs = abs/10; } if(!positive) val = -val; if(val>Integer.MAX_VALUE || val<Integer.MIN_VALUE) return 0; return (int)val; }
相关文章推荐
- LeetCode-7-Reverse Integer(Nmber-Strng)-Easy
- LeetCode | Reverse Integer(翻转整数)
- Leetcode Reverse Integer
- 刷LeetCode(7)——Reverse Integer
- leetcode题目: Reverse Integer 的C语言解法
- Leetcode:Reverse Integer
- LeetCode 7 Reverse Integer(C,C++,Java,Python)
- LeetCode——Reverse Integer(逆置一个整数)
- LeetCode 第 7 题(Reverse Integer)
- leetcode Reverse digits of an integer(经测试绝对正确)
- [LeetCode]Reverse Integer解题报告
- leetcode Reverse Integer
- LeetCode Reverse Integer
- LeetCode Reverse Integer
- leetcode Reverse integer
- leetcode-007-Reverse Integer
- LeetCode Reverse Integer
- LeetCode_reverse integer_007
- leetcode: Reverse Integer
- leetcode题解||Reverse Integer 问题