【Leetcode】Reverse Integer
2014-05-23 00:12
387 查看
问题
Reverse digits of an integer.Example1: x = 123, return 321
Example2: x = -123, return -321
代码
class Solution { public: int reverse(int x) { int neg = 0; if(x < 0) neg = 1; else neg = 0; int x_back = abs(x); int temp = 0; while (x_back > 0) { temp = temp * 10 + x_back % 10; x_back /=10; } return neg?(-1) * temp:temp; } };
分析
把符号提取出来,然后循环的对绝对值之后的X result * 10 + x%10 ; x/= 10; 最后把符号补上返回即可.值得注意的是:
这里肯定会存在负数、正数超过了 singed int 的范围,但是题目如果考虑到需要翻转,应该不会故意给出一个不合法的值,比如 1999999999,在没有翻转的时候,它是合法的,但是翻转之后,显然会溢出。反正这里需要注意下就完事了。
总结
基本的数字计算算法,没啥新意。相关文章推荐
- LeetCode 7_Reverse Integer
- [LeetCode]#7 Reverse Integer
- LeetCode题解:Reverse integer
- LeetCode 007 Reverse Integer
- Leetcode 7 Reverse Integer
- LeetCode7——Reverse Integer
- 【Leetcode】Reverse Integer
- [LeetCode]--Reverse Integer
- LeetCode:Reverse Integer
- leetcode_reverse Integer
- Leetcode5: Reverse Integer
- leetcode: 7 Reverse Integer
- leetcode 第7题 Reverse Integer
- leetcode--Reverse integer
- LeetCode:Reverse Integer
- Leetcode第七题_Reverse Integer
- [LeetCode] Reverse Integer
- Leetcode7——Reverse Integer
- LeetCode:Reverse Integer
- LeetCode 007 Reverse Integer