Reverse digits of an integer.
Example1: x = 123, return 321
Example2: x = -123, return -321
//1:注意正负号; 2:从低位到高位获得每一位并保存到堆栈中, 3:从高位到低位进行出堆栈
int reverse(int x)
{
if(x >= -9 && x <= 9)
return x;
stack<int> myStack;
bool flag = false;
if( x < 0 )
{
flag = true;
x = - x;
}
while(x)
{
int temp = x % 10;
myStack.push(temp);
x = x / 10;
}
int result = 0;
int com = 1;
while(!myStack.empty())
{
int temp = myStack.top();
result = temp * com + result;
myStack.pop();
com *= 10;
}
if(flag)
result = -result;
return result;
}