bool validchar(char a){ if(a >= '0' && a <= '9' || a >='a' && a <='z' || a >= 'A' && a <= 'Z') return true; else return false; } bool mequal(char a, char b){ if((a - 'a' == b - 'a') || (a - 'a' == b - 'A') ||(a - 'A' == b - 'a') || (a - 'A' == b - 'A')) return true; else return false; } bool isPalindrome(string s) { if(s.empty()) return true; int r = 0; int l = s.length() - 1; while(r < l){ while(!validchar(s[r]) && r < l){ ++r; } while(!validchar(s[l]) && r < l){ --l; } if(!mequal(s[r], s[l])){ return false; }else{ ++r; --l; } } return true; }
No comments:
Post a Comment