标签:
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.
Subscribe to see which companies asked this question
c++ code:
class Solution { public: bool isPalindrome(string s) { if(0 == s.size()) return true; int i=0,j=s.size()-1; while(i<=j){ while(!isA(s[i]) && i<j) i++; while(!isA(s[j]) && i<j) j--; if(tolower(s[i])!=tolower(s[j])) return false; i++;j--; } return true; } bool isA(char c){ if('a'<=c && c<='z' || 'A'<=c && c<='Z' || '0'<=c && c<='9') return true; else return false; } };
标签:
原文地址:http://blog.csdn.net/itismelzp/article/details/51588422