Skip to content
On this page

9. 回文数

原题链接:LeetCode 9. 回文数

题目描述

给你一个整数 x ,如果 x 是一个回文整数,返回 true ;否则,返回 false

回文数是指正序(从左向右)和倒序(从右向左)读都是一样的整数。

- 例如,`121` 是回文,而 `123` 不是。

示例 1:

**输入:**x = 121 **输出:**true

示例 2:

**输入:**x = -121 **输出:**false **解释:**从左向右读, 为 -121 。 从右向左读, 为 121- 。因此它不是一个回文数。

示例 3:

**输入:**x = 10 **输出:**false **解释:**从右向左读, 为 01 。因此它不是一个回文数。

提示:

-231 <= x <= 231 - 1

**进阶:**你能不将整数转为字符串来解决这个问题吗?

难度: Easy


题解代码

javascript
/**
 * @param {number} x
 * @return {boolean}
 */
var isPalindrome = function(x) {
    
    // 有点搓哟。。。
    // let arr = x.toString().split('')
    // let len = arr.length
    // if (len % 2) {
    //     return arr.slice(0, (len - 1) / 2).join('') === arr.slice((len + 1) / 2).reverse().join('')
    // } else {
    //     return arr.slice(0, len / 2).join('') === arr.slice(len / 2).reverse().join('')
    // }

    // 优雅
    let reverseNum = String(x).split('').reverse().join('')
    return x == reverseNum
};

技术文档集合