判断一个整数是否是回文数。回文数是指正序(从左向右)和倒序(从右向左)读都是一样的整数。
示例 1:
输入: 121
输出: true
示例 2:
输入: -121
输出: false
解释: 从左向右读, 为 -121 。 从右向左读, 为 121- 。因此它不是一个回文数。
初始化reverse结果为0,对输入x逐次除10取余数,用当前余数加reverse乘10的结果重置reverse值,一直到x为0,比较反转结果和输入x是否相等。
时间复杂度: O(n) / 空间复杂度: O(1)
/**
* @param {number} x
* @return {boolean}
*/
var isPalindrome = function(x) {
if(x < 0) return false
const origin = x
let reverse = 0
while(x) {
const remainder = x % 10
reverse = reverse * 10 + remainder
x = parseInt(x / 10)
}
return reverse === origin
};