Reverse digits of an integer.
Example1: x = 123, return 321
Example2: x = -123, return – –321
#include<iostream> #include<time.h> using namespace std; class Solution { private: bool myError; void setError(const bool b){myError=b;} public: Solution():myError(false){} bool GetError() const {return myError;} int reverse(int x) { setError(false); bool isPositive=true; if(x < 0){ isPositive=false; x=x*(-1); } int r=0; int y; while(x){ y=x%10; r=r*10+y; x=x/10; if(r<0){ setError(true); return 0; } } if(isPositive== false) r=r*(-1); return r; } }; int main() { Solution s; int t=s.reverse(1000000003); if(s.GetError()==false) cout<<t<<endl; else cout<<"overflow"<<endl; t=s.reverse(-10003); if(s.GetError()==false) cout<<t<<endl; else cout<<"overflow"<<endl; system("pause"); return 0; }