思路:
1.使用正则表达式去掉非字母和非数字
2.如果字符串长度小于2,返回true
3.定义两个指针,一个在字符串开头,一个在字符串结尾
4.建立一个while循环,当left < right时执行循环
5.当循环完成后如果没有返回false,如果有返回true
const isPalindrome = s => {
s = s.toLowerCase().replace(/[\W_]/g, '');
if (s.length < 2) return true;
let left = 0;
let right = s.length - 1;
while (left < right) {
if (s[left] !== s[right]) return false;
left++;
right--;
}
return true;
};
console.log(isPalindrome('abcba'));
console.log(isPalindrome('abcbb'));
console.log(isPalindrome(' & * abcba '));