class Solution {
public int reverse(int x) {
int sign = x < 0 ? -1 : 1;
x = Math.abs(x);
int last = 0;
while (x > 0) {
if (Integer.MAX_VALUE / 10 < last || (Integer.MAX_VALUE- x % 10) < last * 10) {
return 0;
}
last = last * 10 + x % 10;
x = x / 10;
}
return sign * last;
}
}
Runtime: 1 ms, faster than 100.00% of Java online submissions for Reverse Integer.
Memory Usage: 36.1 MB, less than 68.85% of Java online submissions for Reverse Integer.
Max Value를 확인 안해서 overflow error이 났었음. 그걸 해결하기 위해 overflow line을 더함.