Reverse Integer

Problem

Given a signed 32-bit integer x, return x with its digits reversed. If reversing x causes the value to go outside the signed 32-bit integer range [-2^31, 2^31 - 1], then return 0.

Assume the environment does not allow you to store 64-bit integers (signed or unsigned).

Example 1:

Input: x = 123
Output: 321

Example 2:

Input: x = -123
Output: -321

Example 3:

Input: x = 120
Output: 21

Constraints:

  • -2^31 <= x <= 2^31 - 1

Solution

This is so ugly.

class Solution {
    public int reverse(int x) {
        if (x == 0) {
            return 0;
        }
        var s = "";
        boolean isNegative = x < 0;
        if (isNegative) {
            x *= -1;
            s = "-";
        }
        while (x > 0) {
            var next = x % 10;
            s = s + String.valueOf(next);
            x = x / 10;
        }
        try {
            x = Integer.parseInt(s);
            return x;
        } catch (Exception e) {
            return 0;
        }
    }
}

Recent posts from blogs that I like

Finding your feet in Golden Gate

How to deal with problems upgrading, a guide to Recovery in case, new Liquid Glass control and an Easter Egg, rounding of rectangle corners, and AI and language support.

via The Eclectic Light Company

Tell agents the why, not just the how

Early AI agents were basically enthusiastic idiots. Working with them required you to tell them precisely what you wanted them to do (for instance, “method A exists on class B, please add an equivalent method to classes C through F”). Otherwise they’d go off and do entirely the wrong thing. But as A...

via Sean Goedecke

some things I’ve learned about relationships

Richard Diebenkorn, Landscape with Figure, 1956

via bookbear express