📅  最后修改于: 2023-12-03 15:07:32.687000             🧑  作者: Mango
一个回文是指从前往后读和从后往前读都一样的词、短语或数字。在 JavaScript 中,我们可以使用不同的方法来检查一个字符串或数字是否是回文。
我们可以通过循环遍历字符串的前半部分和后半部分来检查一个字符串是否是回文。具体的步骤如下:
len
用于保存字符串的长度,以及一个变量 str
,用于存储去除空格后的字符串。len - i - 1
计算出对应的后半部分索引。function isPalindrome(str) {
const len = str.length;
const s = str.toLowerCase().replace(/[^0-9a-z]/gi, ''); // 删除空格和标点符号
for (let i = 0; i < len / 2; i++) {
if (s[i] !== s[len - i - 1]) {
return false;
}
}
return true;
}
我们可以将字符串反转后,与原字符串进行比较。如果两个字符串相同,则说明该字符串是回文。具体步骤如下:
str
,用于存储去除空格后的字符串。function isPalindrome(str) {
const s = str.toLowerCase().replace(/[^0-9a-z]/gi, ''); // 删除空格和标点符号
const reversed = s.split('').reverse().join('');
return s === reversed;
}
我们可以将数字转换为字符串,然后使用方法一中的字符串回文检查方法进行判断。
function isPalindrome(num) {
const str = num.toString();
return isPalindrome(str);
}
我们可以通过将数字取模和除法得到它的数位,并将它们按相反的顺序排列起来来实现数字的反转。如果反转后的数字与原数字相同,则说明该数字是回文。
function isPalindrome(num) {
if (num < 0) {
return false;
}
let reversed = 0;
let n = num;
while (n > 0) {
reversed = reversed * 10 + n % 10;
n = Math.floor(n / 10);
}
return num === reversed;
}
以上就是检查回文的方法,你可以根据自己的实际情况选择合适的方法。如果你有更好的思路或者检查回文的方法,请在评论区留言告诉我们。