1. 问题描述:
反转一个整数意味着倒置它的所有位。例如,反转 2021 得到 1202 。反转 12300 得到 321 ,不保留前导零 。给你一个整数 num ,反转 num 得到 reversed1 ,接着反转 reversed1 得到 reversed2 。如果 reversed2 等于 num ,返回 true ;否则,返回 false 。
示例 1:
输入:num = 526
输出:true
解释:反转 num 得到 625 ,接着反转 625 得到 526 ,等于 num 。
示例 2:
输入:num = 1800
输出:false
解释:反转 num 得到 81 ,接着反转 81 得到 18 ,不等于 num 。
示例 3:
输入:num = 0
输出:true
解释:反转 num 得到 0 ,接着反转 0 得到 0 ,等于 num 。
来源:https://leetcode-cn.com/problems/a-number-after-a-double-reversal/
2. 思路分析:
分析题目可以知道只要是大于0的数字并且末尾存在0那么翻转两次之后结果肯定是不相等的,所以判断当前的数字是否是10的倍数即可,对于0的情况特判一下。
3. 代码如下:
class Solution:
def isSameAfterReversals(self, num: int) -> bool:
if num == 0: return True
return num % 10 != 0