Reverse digits of an integer.
Example1: x = 123, return 321
Example2: x = -123, return -321
水题没啥好说的,就一个小陷阱,如果转换后的数大于int的范围就return0。
class Solution {
public:
int reverse(int x) {
if(x == 0)
return 0;
int f = 0;
int len = 0;
long long int newx = 0;
string s = "";
if(x < 0)
{
f = 1;
x = x * -1;
}
while(x > 0)
{
int a = x - x / 10 * 10;
s.push_back(a + '0');
x = x /10;
}
len = s.length();
for(int i = 0; i < len; ++ i)
{
newx = newx * 10;
newx = newx + s[i] - '0';
}
if(newx > 2147483647)
return 0;
if(f == 1)
newx = newx * -1;
return newx;
}
};