解析
双指针,头尾向中间依次判断。
代码
class Solution {
public:
bool isPalindrome(string s) {
if(s.empty()) return true;
int i = 0, j = s.length() - 1;
while(i < j){
if(!isalnum(s[i])){
i++;
continue;
}
if(!isalnum(s[j])){
j--;
continue;
}
if(tolower(s[i]) == tolower(s[j])){
i++;
j--;
}
else return false;
}
return true;
}
};