美文网首页
9.Palindrome Number

9.Palindrome Number

作者: 最尾一名 | 来源:发表于2018-07-14 17:45 被阅读0次

题目描述

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

示例 1:

输入: 121
输出: true

示例 2:

输入: -121
输出: false

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

输入: 10
输出: false

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


JS 解法

/**
 * @param {number} x
 * @return {boolean}
 */
var isPalindrome = function(x) {
    const xString = x.toString();
    const xStringReverse = xString.split('').reverse().join('');
    return xString === xStringReverse;
};

Number => String => Array => String

进阶解法

var isPalindrome = function(x) {
    let xString = x.toString();
    let headPointer = 0, tailPointer = xString.length - 1;
    while (headPointer < tailPointer) {
        if (xString[headPointer] !== xString[tailPointer]) return false;
        headPointer ++;
        tailPointer --;
    }
    return true;
};

头尾指针,同时向中间靠拢

相关文章

网友评论

      本文标题:9.Palindrome Number

      本文链接:https://www.haomeiwen.com/subject/apvypftx.html