标签:c style class blog code java
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 l=0; int r=s.length()-1; while(l<r) { while(l<r && !(s[l]>=‘a‘ && s[l]<=‘z‘) && !(s[l]>=‘A‘ && s[l]<=‘Z‘) && !(s[l]>=‘0‘ && s[l]<=‘9‘)) l++; while(l<r && !(s[r]>=‘a‘ && s[r]<=‘z‘) && !(s[r]>=‘A‘ && s[r]<=‘Z‘) && !(s[r]>=‘0‘ && s[r]<=‘9‘)) r--; if(l==r) return true; if(s[l]>=‘A‘ && s[l]<=‘Z‘) s[l]=s[l]-‘A‘+‘a‘; if(s[r]>=‘A‘ && s[r]<=‘Z‘) s[r]=s[r]-‘A‘+‘a‘; if(s[l]!=s[r]) return false; l++; r--; } return true; } };
Valid Palindrome,布布扣,bubuko.com
标签:c style class blog code java
原文地址:http://www.cnblogs.com/erictanghu/p/3759670.html