Difficulty: Medium
Topics: Math
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 [-231, 231 - 1], then return 0.
Assume the environment does not allow you to store 64-bit integers (signed or unsigned).
Input: x = 123
Output: 321
Input: x = -123
Output: -321
Input: x = 120
Output: 21
Language: java
Runtime: 1 ms (99.98%)
Memory: 40.5 MB (78.70%)
Submitted: 2026-06-01
class Solution {
public int reverse(int x) {
int rev = 0;
while (x != 0) {
int digit = x % 10;
if (rev > Integer.MAX_VALUE / 10 || (rev == Integer.MAX_VALUE / 10 && digit > 7)) return 0;
if (rev < Integer.MIN_VALUE / 10 || (rev == Integer.MIN_VALUE / 10 && digit < -8)) return 0;
rev = rev * 10 + digit;
x /= 10;
}
return rev;
}
}Generated by DevGrid