7. Reverse Integer LeetCode Solution

In this guide we will provide 7. Reverse Integer LeetCode Solution with best time and space complexity. The solution to Reverse Integer problem is provided in various programming languages like C++, Java and python. This will be helpful for you if you are preparing for placements, hackathon, interviews or practice purposes. The solutions provided here are very easy to follow and with detailed explanations.

Table of Contents

7. Reverse Integer LeetCode Solution image

Problem Statement of Reverse Integer

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 = 123
Output: 321

Example 2:

Input: x = -123
Output: -321

Example 3:

Input: x = 120
Output: 21

Constraints:

-231 <= x <= 231 – 1

Complexity Analysis

  • Time Complexity: O(\log x)
  • Space Complexity: O(1)

7. Reverse Integer LeetCode Solution in C++

class Solution {
 public:
  int reverse(int x) {
    long ans = 0;

    while (x != 0) {
      ans = ans * 10 + x % 10;
      x /= 10;
    }

    return (ans < INT_MIN || ans > INT_MAX) ? 0 : ans;
  }
};
/* code provided by PROGIEZ */

7. Reverse Integer LeetCode Solution in Java

class Solution {
  public int reverse(int x) {
    long ans = 0;

    while (x != 0) {
      ans = ans * 10 + x % 10;
      x /= 10;
    }

    return (ans < Integer.MIN_VALUE || ans > Integer.MAX_VALUE) ? 0 : (int) ans;
  }
}
// code provided by PROGIEZ

7. Reverse Integer LeetCode Solution in Python

class Solution:
  def reverse(self, x: int) -> int:
    ans = 0
    sign = -1 if x < 0 else 1
    x *= sign

    while x:
      ans = ans * 10 + x % 10
      x //= 10

    return 0 if ans < -2**31 or ans > 2**31 - 1 else sign * ans
#code by PROGIEZ

Additional Resources

See also  46. Permutations LeetCode Solution

Feel free to give suggestions! Contact Us