diff --git a/Basic&NumberTheory/Easy/ReverseInteger.java b/Basic&NumberTheory/Easy/ReverseInteger.java new file mode 100644 index 0000000..abb6c09 --- /dev/null +++ b/Basic&NumberTheory/Easy/ReverseInteger.java @@ -0,0 +1,43 @@ +// Name: Mohammad Mubaslat +// Date: 19/10/2022 + +// 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 + +class Solution { + public int reverse(int x) { + int result = 0; + + while (x != 0) { + int tail = x % 10; + int newResult = result * 10 + tail; + if ((newResult - tail) / 10 != result) { + return 0; + } + result = newResult; + x = x / 10; + } + + return result; + } +} \ No newline at end of file