标签:style blog color os strong io for ar
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.
class Solution { public: bool isPalindrome(string s) { int len = s.size(); if(len<2) return true; for(int i=0,j=len-1;i<j;i++,j--){ while(i<len && ((s[i] >= ‘a‘ && s[i] <= ‘z‘) || (s[i]>=‘A‘ && s[i]<=‘Z‘) || (s[i]>=‘0‘ && s[i]<=‘9‘))==false) i++; while(j>=0 && ((s[j] >= ‘a‘ && s[j] <= ‘z‘) || (s[j]>=‘A‘ && s[j]<=‘Z‘) || (s[j]>=‘0‘ && s[j]<=‘9‘))==false) j--; if(i<j && ((s[i]== s[j] || abs(s[i]-s[j])==‘a‘-‘A‘)==false)) return false; } return true; } };
[LeetCode] Valid Palindrome,布布扣,bubuko.com
标签:style blog color os strong io for ar
原文地址:http://www.cnblogs.com/Xylophone/p/3885672.html