2119. 反转两次的数字

127 阅读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

 

提示:

  • 0 <= num <= 106

题解

一个数字反转2次后不变,说明该数字个位不能为00除外

  1. 一个数字个位不为0, 使用取余操作判断即num % 10 != 0
  2. 0除外,即num == 0;
  3. 综合①②的条件判断,数字反转2次不变的条件为num == 0 || num % 10 != 0

代码

/**
 * @param {number} num
 * @return {boolean}
 */
var isSameAfterReversals = function(num) {
    return num == 0 || num  % 10 != 0;
};

原题链接

2119. 反转两次的数字