判断一个字符串是否是回文字符串
回文字符串是指正着读和反着读都相同的字符串。比如 "racecar"
或 "level"
。
方法 1:使用双指针法
通过使用两个指针,一个指向字符串的开始,另一个指向字符串的结束,逐个比较字符。
function isPalindrome(str) { let left = 0; let right = str.length - 1; // 遍历字符串的两端 while (left < right) { // 如果字符不相等,返回 false if (str[left] !== str[right]) { return false; } left++; right--; } // 如果全部字符匹配,返回 true return true; } // 测试 console.log(isPalindrome("racecar")); // 输出 true console.log(isPalindrome("hello")); // 输出 false
方法 2:使用内置的 reverse()
方法
可以通过将字符串反转并与原字符串比较来判断是否为回文字符串。
function isPalindrome(str) { // 反转字符串并比较 return str === str.split('').reverse().join(''); } // 测试 console.log(isPalindrome("racecar")); // 输出 true console.log(isPalindrome("hello")); // 输出 false