先上题
给定一个字符串,验证它是否是回文串,只考虑字母和数字字符,可以忽略字母的大小写。
检测是否是回文串很简单,主要的问题在于对字符串做过滤,其中涉及数字和字符
想到的是用ASCII码进行检验,然后字母方面涉及大写和小写字母,将大写字母判断之后后转为小写
并用一个中转字符串来进行存储过滤后的字符串
可得:
var isPalindrome = function (s) {
let tmp = "";
for (let i = 0; i < s.length; i++) {
if (s[i].charCodeAt(0) >= 48 && s[i].charCodeAt(0) <= 57) {
tmp += s[i];
} else if (s[i].charCodeAt(0) >= 65 && s[i].charCodeAt(0) <= 90) {
tmp += s[i].toLowerCase();
} else if (s[i].charCodeAt(0) >= 97 && s[i].charCodeAt(0) <= 122) {
tmp += s[i];
}
}
return tmp.split("").reverse().join("") === tmp;
};