class Solution {
public:
bool isPalindrome(string s) {
// Note: The Solution object is instantiated only once and is reused by each test case.
int i=0, j=s.size()-1;
while (i<j) {
while (i<j && (!((s[i]>='a' && s[i]<='z') || (s[i]>='A' && s[i]<='Z') || (s[i]>='0' && s[i]<='9')))) {
i++;
}
if (i>=j) return true;
while (!((s[j]>='a' && s[j]<='z') || (s[j]>='A' && s[j]<='Z') || (s[j]>='0' && s[j]<='9'))) {
j--;
}
if (!(s[i]==s[j] || s[i]==s[j]-'A'+'a' || s[i]-'A'+'a'==s[j])) {
return false;
}
i++;
j--;
}
return true;
}
};
Valid Palindrome
最新推荐文章于 2024-01-04 12:53:14 发布
本文介绍了一个使用C++实现的函数,用于检查给定字符串是否为回文串。该函数通过过滤非字母数字字符并比较字符串的首尾元素来判断回文特性。
1851

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



