+
95
-

回答

回文串是一个正读和反读都一样的字符串,例如 "level"、"deified" 和 "racecar" 都是回文串。

在 JavaScript 中,你可以使用以下方法来验证一个字符串是否是回文串:

基本方法:

可以将字符串反转,然后与原始字符串进行比较来验证是否是回文串。
function isPalindrome(str) {
    const reversedStr = str.split('').reverse().join('');
    return str === reversedStr;
}

console.log(isPalindrome("level"));  // true
console.log(isPalindrome("hello"));  // false

双指针方法:

使用两个指针分别从字符串的开头和末尾向中间移动,逐个比较字符来验证是否是回文串。
function isPalindrome(str) {
    let left = 0;
    let right = str.length - 1;
    
    while (left < right) {
        if (str[left] !== str[right]) {
            return false;
        }
        left++;
        right--;
    }
    
    return true;
}

console.log(isPalindrome("level"));  // true
console.log(isPalindrome("hello"));  // false

这些方法都可以用来验证一个字符串是否是回文串。双指针方法在性能上稍微更好,因为它只需要遍历一半的字符,而不是完全反转整个字符串。

网友回复

我知道答案,我要回答