标签:
#include<iostream> #include<math.h> using namespace std; int reverse(int x) { if(x>=0) { int a=x; int b=a/10; int c=a%10; int last_result=c; while(b!=0) { if(last_result>2147483647/10) return 0; last_result*=10; c=b%10; b=b/10; if(last_result>2147483647-c) return 0; last_result+=c; } return last_result; } else { int a=abs(x); int b=a/10; int c=a%10; int last_result=c; while(b!=0) { if(last_result>2147483647/10)//(2^31-1)/10 return 0; last_result*=10; c=b%10; b=b/10; if(last_result>2147483647-c)//2^31-1-c return 0; last_result+=c; } return -last_result; } } int main() { //int x=1534236469; //int x=-2147483648; //int x=1563847412; int x=-2147483412; cout<<reverse(x)<<endl; /* long int a=964632435; long int c=9646324351; long int b=a*10; cout<<a<<‘ ‘<<b<<‘ ‘<<c<<endl;*/ }
leetcode_26题——Reverse Integer(int型的表示范围)
标签:
原文地址:http://www.cnblogs.com/yanliang12138/p/4530617.html