## The 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.

### Example 1:

 ``````1 2 3 `````` ``````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 `````` ``````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 `````` ``````Input: num = 0 Output: true Explanation: Reverse num to get 0, then reverse 0 to get 0, which equals num. ``````

### Constraints:

`0 <= num <= 106``

## The solution

### Option 1:

 ``````1 2 3 `````` ``````class Solution: def isSameAfterReversals(self, num: int) -> bool: return num == 0 or num % 10 != 0 ``````

### Option 2:

 `````` 1 2 3 4 5 6 7 8 9 10 `````` ``````class Solution: def isSameAfterReversals(self, num: int) -> bool: def reverse(number): result = 0 while number: result = result * 10 + number % 10 number //= 10 return result return reverse(reverse(num)) == num ``````

### Option 3:

 ``````1 2 3 4 5 6 7 `````` ``````class Solution: def isSameAfterReversals(self, num: int) -> bool: s = str(num) s1 = int(s[::-1]) s2 = str(s1) print(s2[::-1]) return int(s2[::-1])==int(s) ``````

## Test cases

 ``````1 2 3 `````` ``````526 1800 0 ``````