一个5位数,判断它是不是回文数。即12321是回文数,个位与万位相同,十位与千位相同。
1条回答 默认 最新
- 小公鸡卡哇伊呀~ 2021-10-05 04:39关注本回答被题主选为最佳回答 , 对您是否有帮助呢?解决 无用评论 打赏 举报
一个5位数,判断它是不是回文数。即12321是回文数,个位与万位相同,十位与千位相同。
收起
用这个函数,位数长度不限:
const isPalindrome = (num) => {
const str = String(num);
const len = str.length;
const mid = Math.floor(len / 2);
for (let i = 0; i < mid; i++) {
if (str[i] !== str[len - i - 1]) return false;
}
return true;
};
const num = 12321;
console.log(`${num} is a palindrome number: ${isPalindrome(num)}`);
这个看起来挺简单的,但是我是初学者,这样我还是不懂ᥬ😂᭄
因为数字读取个位数十位数等比较麻烦,处理字符串相对简单, const str = String(num); 先将数字转换成字符串。然后判断字符串,例如 str="abcdef", 第1位字符是否与最后一位相同,第1位是否与倒数第2位相同,依次类推,即判断 str[0] 是否等于 str[5] 等等, 5/2=2.5, Math.floor向下取整。 任何一次比较不等,就是非回文,立即返回false。
code不是非得这样写,还有别的写法。
报告相同问题?