解析
双指针,头尾向中间依次判断。
代码
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;
}
};
本文介绍了一种使用双指针法判断字符串是否为回文的有效算法。通过从字符串两端向中间移动指针,忽略非字母数字字符,并将字母转换为小写进行比较,实现了高效判断。
530

被折叠的 条评论
为什么被折叠?



