Question 4

Question 4: 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
Constraints:
-231 <= x <= 231 – 1
Example 2:
Input: x = -123
Output: -321
Example 3:
Input: x = 120
Output: 21
Solution:
C++
Java
Python
C++
Run
#include <bits/stdc++.h> using namespace std; int reverse(int x) { int reversed = 0; while (x != 0) { int pop = x % 10; x /= 10; if (reversed > INT_MAX / 10 || (reversed == INT_MAX / 10 && pop > 7)) { return 0; } if (reversed < INT_MIN / 10 || (reversed == INT_MIN / 10 && pop < -8)) { return 0; } reversed = reversed * 10 + pop; } return reversed; } int main() { int x; cout << "Enter an integer: "; cin >> x; int result = reverse(x); cout << "Reversed integer: " << result << endl; return 0; }
Java
Run
import java.util.Scanner; class Main { public static int reverse(int x) { int INT_MAX = (int)Math.pow(2, 31) - 1; int INT_MIN = -(int)Math.pow(2, 31); int reversed = 0; while (x != 0) { int pop = x % 10; x /= 10; if (reversed > INT_MAX / 10 || (reversed == INT_MAX / 10 && pop > 7)) { return 0; } if (reversed < INT_MIN / 10 || (reversed == INT_MIN / 10 && pop < -8)) { return 0; } reversed = reversed * 10 + pop; } return reversed; } public static void main(String[] args) { Scanner sc = new Scanner(System.in); System.out.print("Enter an integer: "); int x = sc.nextInt(); int result = reverse(x); System.out.println("Reversed integer: " + result); } }
Python
Run
def reverse(x): INT_MAX = 2**31 - 1 INT_MIN = -2**31 reversed_num = 0 sign = 1 if x > 0 else -1 x = abs(x) while x != 0: pop = x % 10 x //= 10 if reversed_num > INT_MAX // 10 or (reversed_num == INT_MAX // 10 and pop > 7): return 0 if reversed_num < INT_MIN // 10 or (reversed_num == INT_MIN // 10 and pop < -8): return 0 reversed_num = reversed_num * 10 + pop return sign * reversed_num x = int(input("Enter an integer: ")) result = reverse(x) print("Reversed integer:", result)