125. 验证回文串

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

示例 1:

1
2
输入: "A man, a plan, a canal: Panama"
输出: true

示例  2:

1
2
输入: "race a car"
输出: false

代码实现

1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
/**
* @param {string} s
* @return {boolean}
*/
var isPalindrome = function (s) {
s = s
.match(/[a-z0-9]*/gi)
.join("")
.toLocaleLowerCase();
let len = s.length;
for (let i = 0; i < len / 2; i++) {
if (s[i] !== s[len - i - 1]) {
return false;
}
}
return true;
};

数组倒序

1
2
3
4
var isPalindrome = function (s) {
let _s = s.replace(/[^a-z0-9]/gi, "").toLowerCase();
return _s.split("").reverse().join("") === _s;
};