LeetCode传送门
题目大意
给定一个字符串,验证它是否是回文串,只考虑字母和数字字符,可以忽略字母的大小写。
解题思路
双指针
代码实现(js)
/**
* @param {string} s
* @return {boolean}
*/
var isPalindrome = function(s) {
var reg = /[0-9a-z]/;
var i,j;
const len = s.length;
[i, j] = [0, len-1];
while (i < j) {
var x = s[i].toLowerCase();
var y = s[j].toLowerCase();
if(!reg.test(x)) {
i ++;
continue;
}
if(!reg.test(y)) {
j --;
continue;
}
if(x === y) {
i ++;
j --;
}
else
return false;
}
return true;
};