Reverse Integer - Problem
Reverse Integer is a classic mathematical manipulation problem that tests your understanding of integer overflow handling.

You're given a signed 32-bit integer x, and your task is to reverse its digits while being mindful of integer overflow constraints.

Key Requirements:
• If the reversed integer exceeds the 32-bit signed integer range [-2³¹, 2³¹ - 1], return 0
• Handle both positive and negative numbers correctly
• The environment doesn't allow 64-bit integers

Examples:
123 → 321
-123 → -321
120 → 21 (trailing zeros disappear)
1534236469 → 0 (overflow case)

Input & Output

example_1.py — Basic Positive Number
$ Input: x = 123
Output: 321
💡 Note: Reverse the digits: 1-2-3 becomes 3-2-1, which is 321. No overflow occurs.
example_2.py — Negative Number
$ Input: x = -123
Output: -321
💡 Note: Reverse the digits while preserving the negative sign: -1-2-3 becomes -3-2-1, which is -321.
example_3.py — Trailing Zeros
$ Input: x = 120
Output: 21
💡 Note: Reverse the digits: 1-2-0 becomes 0-2-1. Since leading zeros are dropped in integers, the result is 21.
example_4.py — Overflow Case
$ Input: x = 1534236469
Output: 0
💡 Note: Reversing gives 9646324351, which exceeds 2³¹-1 = 2147483647, so we return 0 due to overflow.

Visualization

Tap to expand
Digital Number Reversal MachineINPUT123digit = 3SAFETY CHECKresult < INT_MAX/10 ?BUILDresult = 0×10+3 = 3INPUT12digit = 2SAFETY CHECK3 < 214748364 ✓BUILDresult = 3×10+2 = 32INPUT1digit = 1SAFETY CHECK32 < 214748364 ✓BUILDresult = 32×10+1 = 321FINAL OUTPUT321
Understanding the Visualization
1
Input Processing
The machine receives a number and separates the sign from the digits
2
Digit Extraction
Using modulo operation, extract the rightmost digit (like pulling the last LEGO block)
3
Safety Check
Before adding the digit, check if the result would overflow the 32-bit limit
4
Build Result
Multiply current result by 10 and add the extracted digit
5
Continue Process
Remove the processed digit and repeat until no digits remain
Key Takeaway
🎯 Key Insight: By checking for overflow BEFORE it happens (result > INT_MAX/10), we can safely reverse integers without using 64-bit arithmetic, making this both efficient and mathematically elegant.

Time & Space Complexity

Time Complexity
⏱️
O(log n)

We process each digit exactly once, and there are log₁₀(n) digits in the number.

n
2n
Linearithmic
Space Complexity
O(1)

Only using a constant amount of extra variables regardless of input size.

n
2n
Linear Space

Constraints

  • -231 ≤ x ≤ 231 - 1
  • Environment does not allow 64-bit integers
  • Return 0 if reversed integer overflows 32-bit signed integer range
Asked in
Google 45 Amazon 38 Microsoft 32 Apple 25 Meta 22 Bloomberg 18
89.3K Views
High Frequency
~15 min Avg. Time
2.8K Likes
Ln 1, Col 1
Smart Actions
💡 Explanation
AI Ready
💡 Suggestion Tab to accept Esc to dismiss
// Output will appear here after running code
Code Editor Closed
Click the red button to reopen