LeeCode 9. Palindrome Number

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
};
©著作权归作者所有,转载或内容合作请联系作者
平台声明:文章内容(如有图片或视频亦包括在内)由作者上传并发布,文章内容仅代表作者本人观点,简书系信息发布平台,仅提供信息存储服务。

推荐阅读更多精彩内容