class Solution {
public:
bool isPalindrome(string s) {
bool indicator = true;
if(s.size() == 0)
return indicator;
string::iterator iter1,iter2;
iter1 = s.begin();
iter2 = s.end() - 1;
while((iter1 != s.end()) && !(isalnum(*iter1)))
iter1++;
while((iter2 != s.begin()) && !(isalnum(*iter2)))
iter2--;
if(iter1 == s.end())
return indicator;
while((iter2 - iter1) > 0) {
while(!(isalnum(*iter1)))
iter1++;
while(!(isalnum(*iter2)))
iter2--;
if(isdigit(*iter1)) {
if(*iter1 - *iter2 != 0) {
indicator = false;
break;
}
}else {
if(!(*iter1 - *iter2 == 32 || *iter1 - *iter2 == -32 || *iter1 - *iter2 == 0)) {
indicator = false;
break;
}
}
iter1++;
iter2--;
}
return indicator;
}
};
Valid Palindrome
最新推荐文章于 2020-03-10 23:55:48 发布