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.
Difficulty:Easy
class Solution {
public:
bool isPalindrome(string s) {
int len = s.length();
if(len==0)
return true;
vector<char> nums;
vector<char> nums1;
for(int i = 0;i<len;i++){
if((s[i]<=90&&s[i]>=65)||(s[i]<=57&&s[i]>=48))
nums.push_back(s[i]);
if((s[i]<=122&&s[i]>=97))
nums.push_back(s[i]-32);
}
if(nums.size()==0||nums.size()==1)
return true;
for(int i = nums.size()-1;i>=0;i--)
nums1.push_back(nums[i]);
if(nums1==nums)
return true;
return false;
}
};