Reverse Integer

Justin Lee
2 min readMar 20, 2021
  • 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).**

**Example 1:**

Input: x = 123Output: 321

**Example 2:**

Input: x = -123Output: -321

**Example 3:**

Input: x = 120Output: 21

**Example 4:**

Input: x = 0Output: 0

**Constraints:**

231 <= x <= 231–1

**Note that if the negative number in, (-) sign goes to the left.**

  • -5623 👉 3265- : 🙅‍♀️
  • -5623 👉 -3265 : 🙆‍♂️

0x7FFFFFFF : a hexadecimal number that represents the maximum positive value for a 32-bit number

0x80000000 : a hexadecimal number that represents the minimum negative value for a 32-bit number

Start Quokka

Milestone

  • check whether the number is negative / add a flag
  • make absolute value the number
  • turn the number into a string
  • reverse it
  • turn back the string into a number
  • return

First attempt

First attempt

Refactor the code above using modular arithmetic

Refactoring

Reference

--

--