一、题目地址
https://leetcode-cn.com/problems/valid-palindrome/
二、具体代码
/**
* @param {string} s
* @return {boolean}
*/
// 双指针做法
// 时间复杂度: O(n)
// 空间复杂度: O(1)
var isPalindrome = function(s) {
let left = 0;
let right = s.length - 1;
s = s.toLowerCase();//先换成小写
while(left <= right) {
//在JS中,在字符串中判断字符的真实类型,常用正则表达式解决
if(!(/[0-9a-z]/.test(s[left]))) {
left++;
}else if(!(/[0-9a-z]/.test(s[right]))) {
right--;
}else {
if(s[left] === s[right]) {
left++;
right--;
}else {
return false;
}
}
}
return true;
};
三、补充链接
https://leetcode-cn.com/problems/XltzEq/solution/shua-chuan-jian-zhi-offer-day10-zi-fu-ch-y5ua/