给定一个字符串,验证它是否是回文串,只考虑字母和数字字符,可以忽略字母的大小写。
说明:本题中,我们将空字符串定义为有效的回文串。
示例 1:
输入: "A man, a plan, a canal: Panama" 输出: true示例 2:
输入: "race a car" 输出: false
首先,通过正则匹配去掉原字符串中的非字母和数字字符,然后去掉空格,将新的字符串和翻转之后的字符串进行比较。。
/** * @param {string} s * @return {boolean} */ var isPalindrome = function(s) { if(s.length==0){ return true; } let s1 = s.replace(/[^a-zA-Z0-9]/g,''); let s2 = s1.replace(/s*/g,'').toLowerCase(); let s3 = s2.split("").reverse().join(''); if(s3==s2){ return true; }else{ return false; } };