例如,反转 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 。
思路 :
题目输出的 只是 Ture / False ,因此 ,没有必要纠结该怎么进行两次反转,而是应该判断什么时候输出什么?
根据规律:一个整数反转两次,还是自己,输出Ture;为 0 时,无论反转多少次,还是本身;非 0 时,个位末尾一定不为 0 ;否则输出False;
bool isSameAfterReversals(int num)
{
return (num % 10 != 0 || num == 0)?Ture:False;
}