Valid Palindrome
class Solution {
public:
bool isPalindrome(string s) {
if(s.empty() )
return true;
size_t i = 0;
size_t j = 0;
string s1 = "";
for(; i < s.size(); ++ i)
{
if('A'<= s[i] && 'Z' >= s[i] )
{
s1 += (s[i] - 'A' + 'a');
}
else if('a' <= s[i] && 'z' >= s[i] || '0'<=s[i] && '9' >= s[i])
s1 += s[i];
}
if(0 == s1.size())
return true;
i = 0;
j = s1.size()-1;
bool flag = true;
while(i < j)
{
if(s1[i] != s1[j])
{
flag = false;
break;
}
++ i;
-- j;
}
return flag;
}
};
class Solution {
public:
bool isPalindrome(string s) {
// Start typing your C/C++ solution below
// DO NOT write int main() function
int i=0,j=s.length()-1;
bool flag=true;
while(i<j){
if(!((s[i]>='A'&&s[i]<='Z')||(s[i]>='a'&&s[i]<='z')||(s[i]>='0'&&s[i]<='9'))){
i++;
continue;
}
if(!((s[j]>='A'&&s[j]<='Z')||(s[j]>='a'&&s[j]<='z')||(s[j]>='0'&&s[j]<='9'))){
j--;
continue;
}
if(s[i]>='A'&&s[i]<='Z')
s[i]=s[i]+'a'-'A';
if(s[j]>='A'&&s[j]<='Z')
s[j]=s[j]+'a'-'A';
if(s[i]!=s[j]){
flag=false;
break;
}
else{
i++;
j--;
}
}
return flag;
}
};