2119. A Number After a Double Reversal LeetCode Solution
In this guide, you will get 2119. A Number After a Double Reversal LeetCode Solution with the best time and space complexity. The solution to A Number After a Double Reversal problem is provided in various programming languages like C++, Java, and Python. This will be helpful for you if you are preparing for placements, hackathons, interviews, or practice purposes. The solutions provided here are very easy to follow and include detailed explanations.
Table of Contents
- Problem Statement
- Complexity Analysis
- A Number After a Double Reversal solution in C++
- A Number After a Double Reversal solution in Java
- A Number After a Double Reversal solution in Python
- Additional Resources
Problem Statement of A Number After a Double Reversal
Reversing an integer means to reverse all its digits.
For example, reversing 2021 gives 1202. Reversing 12300 gives 321 as the leading zeros are not retained.
Given an integer num, reverse num to get reversed1, then reverse reversed1 to get reversed2. Return true if reversed2 equals num. Otherwise return false.
Example 1:
Input: num = 526
Output: true
Explanation: Reverse num to get 625, then reverse 625 to get 526, which equals num.
Example 2:
Input: num = 1800
Output: false
Explanation: Reverse num to get 81, then reverse 81 to get 18, which does not equal num.
Example 3:
Input: num = 0
Output: true
Explanation: Reverse num to get 0, then reverse 0 to get 0, which equals num.
Constraints:
0 <= num <= 106
Complexity Analysis
- Time Complexity: O(\log\texttt{num})
- Space Complexity: O(1)
2119. A Number After a Double Reversal LeetCode Solution in C++
class Solution {
public:
bool isSameAfterReversals(int num) {
const int reversed1 = getReversed(num);
const int reversed2 = getReversed(reversed1);
return reversed2 == num;
}
private:
int getReversed(int num) {
int reversed = 0;
while (num > 0) {
reversed = reversed * 10 + num % 10;
num /= 10;
}
return reversed;
}
};
/* code provided by PROGIEZ */
2119. A Number After a Double Reversal LeetCode Solution in Java
class Solution {
public boolean isSameAfterReversals(int num) {
final int reversed1 = getReversed(num);
final int reversed2 = getReversed(reversed1);
return reversed2 == num;
}
private int getReversed(int num) {
int reversed = 0;
while (num > 0) {
reversed = reversed * 10 + num % 10;
num /= 10;
}
return reversed;
}
}
// code provided by PROGIEZ
2119. A Number After a Double Reversal LeetCode Solution in Python
class Solution:
def isSameAfterReversals(self, num: int) -> bool:
def getReversed(num: int) -> int:
reversed = 0
while num > 0:
reversed = reversed * 10 + num % 10
num //= 10
return reversed
reversed1 = getReversed(num)
reversed2 = getReversed(reversed1)
return reversed2 == num
# code by PROGIEZ
Additional Resources
- Explore all LeetCode problem solutions at Progiez here
- Explore all problems on LeetCode website here
Happy Coding! Keep following PROGIEZ for more updates and solutions.