回文串:正读反读一样,忽略掉大小写和非字母数字
function isPalindrome(s){
let start = 0;
let end = s.length -1;
while(end>=start){
const left = s[start].toLowerCase(),right = s[end].toLowerCase();
if(!isValid(left)){
start++;
}else if(!isValid(right)){
end--;
}else if(left===right) {
start++;
end--;
}else {
return false;
}
}
return true;
}
function isValid(c){
return (c>='a'&&c<='z')||(c>='0'&&c<='9')
}
// 验证
console.log(isPalindrome('aba')) // true