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
};

技术文档集合