LeeCode 9. Palindrome Number

LeeCode 9. Palindrome Number_第1张图片
image.png

题目意思是求一个数字是不是回文,然后提示说,注意负数,还有就是数字反转可能会溢出,所以就是说不能用字符串反转判断。

方法是,设两个变量,一个从左往右,一个从右往左,取数字变成的字符串,判断两个相同不就行了

/**
 * @param {number} x
 * @return {boolean}
 */
var isPalindrome = function (x) {
    // 负数不是回文
    if (x < 0) {
        return false
    } 
    // 个位数是回文
    // if (x >= 0 && x < 10) {
    //     console.log(true)
    // }
    // 一个从左往右,一个从右往左判断
    var s = x.toString()
    var left = 0,
        right = s.length - 1
    // 在这个循环中,可以判断个位数的情况,所以把个位数的判断整合到了这里
    while(right - left >= 1) {
        if (s.charAt(left) != s.charAt(right)) {
            return false
        }
        left++
        right--
    }
    return true
};

你可能感兴趣的:(LeeCode 9. Palindrome Number)