Skip to content

Latest commit

 

History

History
37 lines (32 loc) · 912 Bytes

9.回文数.md

File metadata and controls

37 lines (32 loc) · 912 Bytes

描述:

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

示例:

示例 1:
输入: 121
输出: true

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

解析:

初始化reverse结果为0,对输入x逐次除10取余数,用当前余数加reverse乘10的结果重置reverse值,一直到x为0,比较反转结果和输入x是否相等。

时间复杂度: O(n) / 空间复杂度: O(1)

/**
 * @param {number} x
 * @return {boolean}
 */
var isPalindrome = function(x) {
    if(x < 0) return false
    const origin = x
    let reverse = 0
    while(x) {
        const remainder = x % 10
        reverse = reverse * 10 + remainder
        x = parseInt(x / 10)
    }
    return reverse === origin
};