leetcode 7:Reverse Integer(知识点:vector ,复习STL stack,queue)
2016-08-29 16:35
435 查看
题目:
Reverse digits of an integer.Example1: x = 123, return 321
Example2: x = -123, return -321
解答:
这道题很简单,但是很坑,测试数据产生的结果如果溢出的话,应该返回0,但是并没有在题目中写到。测试int类型是否溢出的方法:用long long类型完全一样地做一遍,最后比较两者结果是否相同。
#include <vector> #include <cmath> class Solution { public: int reverse(int x) { vector<int> a; int sign = x >= 0 ? 1 : -1; int absOfX = abs(x); while(absOfX){ int num = absOfX % 10; absOfX /= 10; a.push_back(num); } int result1 = 0; long long result2 = 0; int index = 1; while(!a.empty()){ int add = a.back() * index; long long addL = (long long)a.back() * index; if(add != addL){ return 0; } result1 += add; result2 += addL; index *= 10; a.pop_back(); } result1 *= sign; result2 *= sign; if(result1 != result2) return 0; else return result1 ; } };
知识点:
STL vector :http://blog.csdn.net/phoebin/article/details/3864590STL stack,queue:
http://www.cnblogs.com/mfryf/archive/2012/08/09/2629992.html
相关文章推荐
- LeetCode : Reverse Integer
- leetcode 75: Reverse digits of an integer.
- LeetCode Palindrome Number && Reverse Integer 解法集合
- LeetCode之Reverse Integer
- LeetCode(7) Reverse Integer
- LeetCode:Reverse Integer
- leetcode Reverse Integer 2.2 难度系数2
- LeetCode Reverse Integer 带考虑第二种特殊情况
- LeetCode Reverse Integer
- 【leetcode】将整数取反,-321返回-123(Reverse Integer)
- leetcode 75: Reverse digits of an integer.
- 【LeetCode】Reverse Integer解题笔记
- leetcode之Reverse Integer
- Reverse Integer [LeetCode]
- Leetcode Reverse Integer
- [LeetCode] Reverse Integer 解题报告
- [LeetCode] Reverse Integer、Palindrome Number
- Reverse Integer -leetcode
- leetcode:Reverse Integer(反转数字)【算法面试题】
- 【LeetCode】- Reverse Integer(将一个整数反转)