编辑代码

// 转为字符串比较
var isPalindrome1 = function(x) {
    if ( x < 0 ) return false
    let str = '' + x
    return Array.from(str).reverse().join('') === str
};

// console.log(isPalindrome1(12321))
// console.log(isPalindrome1(12345654321))

// 数学方法
/**
 * @param {number} x
 * @return {boolean}
 */
var isPalindrome = function(x) {
    if(x < 0 || (x%10==0 && x!==0)) return false;
    var revertedNum = 0; 
    while(x>revertedNum){
        revertedNum = revertedNum*10 + x%10;
        x = Math.floor(x /= 10);
    }
    
    return Math.floor(revertedNum/10) === x || revertedNum === x

};

//是回文数
console.log("121——" + isPalindrome(121))
console.log("12345654321——" + isPalindrome(12345654321))
console.log("11——" + isPalindrome(11))
console.log("12321——" + isPalindrome(12321))
console.log("0——" + isPalindrome(0))
console.log("1——" + isPalindrome(1))
console.log("\n")
//不是回文数
console.log("-121——" + isPalindrome(-121))
console.log("10——" + isPalindrome(10))
console.log("NaN——" + isPalindrome(NaN))
console.log("\n")
//疑惑的情况。。。
console.log("+0——" + isPalindrome(+0))
console.log("-0——" + isPalindrome(-0))
console.log("+1——" + isPalindrome(+1))