Files
leetcode/solutions/reverse-integer/Solution.java
2023-10-06 03:14:09 -05:00

25 lines
654 B
Java

// Accepted
// Runtime: 1 ms
// Memory Usage: 35.8 MB
// Submitted: January 14th, 2021
class Solution {
public int reverse(int x) {
// Remember whether it was negative or not
boolean negative = x < 0;
x = Math.abs(x);
int reversed = 0;
int degree = (int) Math.floor(Math.log10(x));
while (x > 0) {
// digit x 10^degree
reversed += Math.pow(10, degree--) * (x % 10);
x /= 10;
}
if (reversed == Integer.MAX_VALUE || reversed == Integer.MIN_VALUE)
return 0;
return negative ? -reversed : reversed;
}
}