Problem# 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.
Examples# Example 1:
1
2
3
4
5
Input:
num = 526
Output:
true
Explanation: Reverse num to get 625, then reverse 625 to get 526, which equals num.
Example 2:
1
2
3
4
5
Input:
num = 1800
Output:
false
Explanation: Reverse num to get 81, then reverse 81 to get 18, which does not equal num.
Example 3:
1
2
3
4
5
Input:
num = 0
Output:
true
Explanation: Reverse num to get 0, then reverse 0 to get 0, which equals num.
Solution# Method 1 – Mathematical Observation# Intuition# Reversing a number removes trailing zeros. If a number has no trailing zeros or is zero, double reversal returns the original number. Otherwise, the number changes after double reversal.
Approach# If num is 0, return true. If num has no trailing zeros (num % 10 != 0), return true. Otherwise, return false. Code#
Cpp
Go
Java
Kotlin
Python
Rust
Typescript
1
2
3
4
5
6
class Solution {
public :
bool isSameAfterReversals(int num) {
return num == 0 || num % 10 != 0 ;
}
};
1
2
3
func isSameAfterReversals (num int ) bool {
return num == 0 || num % 10 != 0
}
1
2
3
4
5
class Solution {
public boolean isSameAfterReversals (int num) {
return num == 0 || num % 10 != 0;
}
}
1
2
3
4
5
class Solution {
fun isSameAfterReversals (num: Int): Boolean {
return num == 0 || num % 10 != 0
}
}
1
2
3
class Solution :
def isSameAfterReversals (self, num: int) -> bool:
return num == 0 or num % 10 != 0
1
2
3
4
5
impl Solution {
pub fn is_same_after_reversals (num: i32 ) -> bool {
num == 0 || num % 10 != 0
}
}
1
2
3
4
5
class Solution {
isSameAfterReversals (num : number ): boolean {
return num === 0 || num % 10 !== 0 ;
}
}
Complexity# ⏰ Time complexity: O(1), only a constant number of operations. 🧺 Space complexity: O(1), only a constant amount of extra space is used.