给定一个字符串,验证它是否是回文串,只考虑字母和数字字符,可以忽略字母的大小写。

    说明:本题中,我们将空字符串定义为有效的回文串。

    示例 1:

    1. 输入: "A man, a plan, a canal: Panama"
    2. 输出: true
    3. 解释:"amanaplanacanalpanama" 是回文串

    示例 1:

    输入: "race a car"
    输出: false
    解释:"raceacar" 不是回文串
    

    提示:

    • 1 <= s.length <= 2 * 105
    • 字符串 s 由 ASCII 字符组成
      /**
      * @param {string} s
      * @return {boolean}
      */
      var isPalindrome = function(s) {
        var str = s.toLocaleLowerCase().match(/[a-z0-9]+/g);
        if(!str) return true
        var slong = str.join("");//amanaplanacanalpanama
        var l = 0; r = slong.length - 1;
        while(l < r){
            if(slong[l] == slong[r]){
                l++;
                r--;
            }else{
                return false
            }
        }
        return true
      };