力扣之9. 回文数

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

示例 1:

输入: 121
输出: true

示例 2:

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

示例 3:

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

var isPalindrome = function (x) {
    if (x < 0) return false;
    if (x < 10) return true;
    let left = 1; // 左边第一位
    let right = 0; // 右起第一位
    let num = x;
    while (num >= 1) { // 计算right起始数(总位数)
        num /= 10;
        right++;
    }
    // 获取第n位的数字
    const getNum = (number, n) => {
        return Math.floor(number % Math.pow(10, n) / Math.pow(10, n - 1));
    }
    while (left < right) {
        if (getNum(x, left) !== getNum(x, right)) return false;
        left++;
        right--;
    }
    return true;
};

数学解法

©️2020 CSDN 皮肤主题: 书香水墨 设计师:CSDN官方博客 返回首页