LeetCode:Valid Palindrome(need update)
Given a string, determine if it is a palindrome, considering only alphanumeric characters and ignoring cases.
For example,"A man, a plan, a canal: Panama" is a palindrome."race a car" is not a palindrome.
Note:
Have you consider that the string might be empty? This is a good question to ask during an interview.
For the purpose of this problem, we define empty string as valid palindrome.
RE
需要改正。。暂且
class Solution {
public:
bool isPalindrome(string s) {
//transform(s.begin(),s.end(),s.begin(),::tolower);
if(s.size()==0) return true;
auto left=s.begin();
auto right=prev(s.end());
while(left<right)
{
while(!isalpha(*left) && !isdigit(*left)) ++left;
while(!isalpha(*right) && !isdigit(*right)) --right;
if((*left==*right)||(tolower(*left)==tolower(*right)))
{
left++;
right--;
}
else return false;
}
return true;
}
};

浙公网安备 33010602011771号