leetcode每日一题(2020-06-19):125. 验证回文串

题目描述:
给定一个字符串,验证它是否是回文串,只考虑字母和数字字符,可以忽略字母的大小写。
说明:本题中,我们将空字符串定义为有效的回文串。

今日学习:
1.复习正则表达式
2.复习字符串常用API

题解1:正则保留数字字母——>转换成小写字母——>转成数组——>反转数组——>比较
题解2:正则保留数字字母——>转换成小写字母——>转成数组——>双指针左右逼近——>不同直接抛出false
这个时候就要感叹js的好处了,一行就可以解决

var isPalindrome = function(s) {
    // let reg = new RegExp(/[^0-9a-zA-Z]/g)
    // return s.replace(reg, "").toLowerCase().split("").reverse().join("") == s.replace(reg, "").toLowerCase()

    return s.replace(/[^w]/g, "").toLowerCase().split("").reverse().join("") == s.replace(/[^w]/g, "").toLowerCase()

    // let reg = new RegExp(/[^w]/g)
    // let arr = s.replace(reg, "").toLowerCase().split("")
    // let left = 0, right = arr.length - 1
    // while(left < right) {
    //     if(arr[left] == arr[right]) {
    //         left++
    //         right--
    //     }else {
    //         return false
    //     }
    // }
    // return true
};
原文地址:https://www.cnblogs.com/autumn-starrysky/p/13161393.html