diff --git a/reverse-integer/Solution.java b/reverse-integer/Solution.java new file mode 100644 index 0000000..c0f1e0b --- /dev/null +++ b/reverse-integer/Solution.java @@ -0,0 +1,25 @@ +// 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; + } +} \ No newline at end of file