回文数

2023-06-26 18:29:29 浏览数 (1)

所谓回文数,也就是给定一个数字,从左往右,还是从右往左,都是一个数,如:121、1221等。

解题方式:

  • 通过循环,或者转为数组进行反转,然后与原始值是否相等
代码语言:javascript复制
if (typeof num !== 'number' || num < 0) {
    return false;
}
return num === Number(Array.from(String(num)).reverse().join(''));
代码语言:javascript复制
function isPalindrome(num) {
    if (typeof num !== 'number' || num < 0) {
        return false;
    }
    let str = String(num);
    let newStr = '';
    for (let index = str.length - 1; index >= 0; index--) {
        newStr = newStr   str[index];
    }
    return newStr === str;
}
  • 循环,左右判断
代码语言:javascript复制
function isPalindrome(num) {
    if (typeof num !== 'number' || num < 0) {
        return false;
    }
    let str = String(num);
    let length = str.length - 1;
    for (let index = 0, len = Math.ceil(str.length / 2); index <= len; index  ) {
        if (str[index] !== str[length - index]) {
            return false;
        }
    }
    return true;
}

0 人点赞