这个问题的意思是:我们需要将一个整数反转两次,并判断最终结果是否等于最开始的数字。
步骤解释:
-
首先,反转
num
得到reversed1
,这个过程中要去掉前导零。 -
接着再反转
reversed1
得到reversed2
。 -
如果
reversed2 == num
,就返回true
,否则返回false
。
可以用 Python 来实现这个逻辑:
def is_same_after_reversals(num: int) -> bool:
# 反转函数,去掉前导零
def reverse(n: int) -> int:
return int(str(n)[::-1])
reversed1 = reverse(num)
reversed2 = reverse(reversed1)
return reversed2 == num
示例:
print(is_same_after_reversals(2021)) # True
print(is_same_after_reversals(12300)) # False
print(is_same_after_reversals(0)) # True
一个小技巧:
只有当原始数字 末尾没有0(或者数字是0本身)时,才能通过双反转保持一致。
因为反转会把末尾的0丢掉,反过来就补不回来了。