[Leetcode Series]09 回文数

Arthur
2021-07-21 / 0 评论 / 83 阅读 / 正在检测是否收录...

9. 回文数

` 来源leetcode

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

  • 回文数是指正序(从左向右)和倒序(从右向左)读都是一样的整数。例如,121 是回文,而 123 不是。

示例 1:

输入:x = 121
输出:true

示例 2:

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

示例 3:

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

示例 4:

输入:x = -101
输出:false

解题

如果 x < 0 直接return false
如果 0 <= x < 10 直接return false
然后拆开判断 正数倒数相对称位置的数 是否相等 有不相等的直接返回 false

代码如下

    /**
     * @param {number} x
     * @return {boolean}
     */
    var isPalindrome = function (x) {
        if (x < 0) {
            return false
        }
        if (x >= 0 && x < 10) {
            return true
        }
        let res = true
        x = x.toString().split('')
        let len = ((x.length % 2) ? (x.length - 1) : x.length) / 2
        for (let i = 0; i < len; i++) {
            if (x[i] != x[x.length - 1 - i]) {
                res = false
                break
            }
        }
        return res
    };

结果一次通过
执行用时:200 ms, 在所有 JavaScript 提交中击败了81.46%的用户
内存消耗:46.9 MB, 在所有 JavaScript 提交中击败了42.53%的用户

1
如果你觉得文章还不错,可以请我喝杯咖啡啊哈哈哈
wechat alipay

评论 (0)

取消