题目:
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.
说明:
1)注意两点:a、判断满足条件的字符 b、大写变小写(本题认为不区分大小写)
2)字符串为空则true
实现:
1 class Solution { 2 public: 3 bool isPalindrome(string s) { 4 if(s.empty()) return true; 5 int len=strlen(s.c_str()); 6 int i=0; 7 int j=0; 8 for (;i<len;i++) 9 { 10 if (isChar(s[i]))//去其他符合,若有大写则大写变小写 11 { 12 s[i] = tolower(s[i]);//库函数 13 s[j++]=s[i]; 14 } 15 } 16 s[j]='