LeetCode Reverse Integer (处理溢出)
2015-05-25 23:25
302 查看
这道题看上去比较简单,但是需要注意的细节和情况的处理还是很多的。
(1) 注意负数
(2)注意10,100这类数字的反转
(3) 最容易忽视的一点,整型的溢出。(2333333339反转超int)
注意我们计算的过程中不需要另外存数字,直接计算就好。处理溢出我们先用long long储存,超int后直接返回0
其实我们发现,(1)和(2)都不需要特殊处理,在运算的过程中会自行处理。
(1) 注意负数
(2)注意10,100这类数字的反转
(3) 最容易忽视的一点,整型的溢出。(2333333339反转超int)
注意我们计算的过程中不需要另外存数字,直接计算就好。处理溢出我们先用long long储存,超int后直接返回0
其实我们发现,(1)和(2)都不需要特殊处理,在运算的过程中会自行处理。
class Solution { public: int reverse(int x) { int maxx=0x7fffffff,minn=0x80000000;//int最大值和最小值 long long ans=0; while(x) { ans=ans*10+x%10; if(ans>maxx||ans<minn)//解决溢出(long long) { ans=0; break; } x/=10; } return ans; } };
相关文章推荐
- LeetCode7——Reverse Integer(将一个整数反转,注意溢出的处理)
- [LeetCode 7]Reverse Integer(处理整数溢出)
- leetcode——7—— Reverse Integer可仿溢出
- leetcode解题之07#Reverse Integer Java版 通过溢出测试
- Leetcode_Reverse Integer(考虑了溢出情况)
- 算法中可以使用不等式变换避免溢出,leetcode:Sqrt(x) ,BigInteger处理溢出
- 《LeetBook》leetcode题解(7): Reverse Integer[E]——处理溢出的技巧
- 【leetcode】Reverse Integer(考虑溢出问题)
- LeetCode 7. Reverse Integer 关于溢出很好的理解和处理
- leetcode002-数值处理Reverse Integer,Pow(x,n), atoi, Divide Two Integers
- leetcode Reverse Integer
- LeetCode--Reverse Integer (Cpp,Java,Python)
- leetcode 7 Reverse Integer golang实现
- LeetCode--Reverse Integer(整数反转)Python
- LeetCode之Reverse Integer
- LeetCode 7 Reverse Integer(反转数字)
- leetcode:Reverse Integer 【Java】
- LeetCode (7)Reverse Integer
- LeetCode 7 Reverse Integer ( C++ )
- leetcode(7)Reverse Integer