題意
Reverse digits of an integer.
Example1: x = 123, return 321
Example2: x = -123, return -321
click to show spoilers.
Note:
The input is assumed to be a 32-bit signed integer. Your function should return 0 when the reversed integer overflows.
Subscribe to see which companies asked this question
解法
注意溢出問題
實現
class Solution {
public:
int reverse(int x) {
long long y = x;
if(x < 0) y = y * -1;//注意用long long類型代替int
long long reverse = 0;
long long max = 2147483647;
while(y != 0){
reverse = reverse * 10 + y % 10;
if((x > 0 && reverse > max) || (x < 0 && reverse > max + 1)) return 0;
y = y / 10;
}
if(x < 0) reverse = reverse * -1;
return reverse;
}
};