Given a 32-bit signed integer,reverse digits of an integer.
Example 1:
Example 2:
1 2
|
Input: -123 Output: -321
|
Example 3:
Note:
function returns 0 when the reversed integer overflows.
1 2 3 4 5 6 7 8 9 10 11 12 13 14 15 16 17 18 19 20 21 22 23 24 25 26
|
#include <limits.h> using namespace std; int (int x) { long long sum = 0; if( x/10 == 0) { return x; } else { long long m = (x%10); long long n = x/10; while(n /= 10) m *= 10; sum = m + reverse(x/10); } return (sum < INT_MIN || sum > INT_MAX) ? 0 :sum; }
int main() { cout<<reverse(1234)<<endl; return 0; }
Output: 4321
|
参考自:
- https://leetcode.com/problems/reverse-integer/discuss/4057/
- http://bbs.csdn.net/topics/390741045?page=1
近期评论