题目地址

链接

解题思路

首先解释一下什么是回文串。回文串是指正读、反读都一样的字符串。本题说忽略特殊字符,只判断字母和数字。可以用正则将特殊字符处理掉。然后利用以下方法处理。

  1. 利用reverse
  2. 利用双指针

    代码

  1. var isPalindrome = function(s) {
  2. s = s.toLowerCase().replace(/[^0-9a-z]/g,'');
  3. return [...s].reverse().join('') === s
  4. };
var isPalindrome = function(s) {
    s = s.toLowerCase().replace(/[^0-9a-z]/g,'');
    let l = 0,r = s.length - 1;
     while(l<r){
       if(s[l] !== s[r]){
        return false;
       }
       l++;
       r--;
     }
     return true;
};