回文串是一个正读和反读都一样的字符串,例如 "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
这些方法都可以用来验证一个字符串是否是回文串。双指针方法在性能上稍微更好,因为它只需要遍历一半的字符,而不是完全反转整个字符串。
网友回复