您的位置:首页 > 其它

leetcode:Valid Palindrome 菜鸟解法

2015-03-10 23:50 330 查看
我使用的方法是头一个指针,尾一个指针,同时往前运动,当有不相同的字母或数字即为非回文

代码如下:

class Solution {
public:
bool isPalindrome(string s) {
int len = s.size();
int offset = 'a'-'A';
if(len==0) return true;
int i = 0,j=0;
j=len;
while(i<=j){
if(s[i]<48|(s[i]>57&s[i]<65)|(s[i]>90&s[i]<97)|s[i]>122){
i++;
continue;
}
if(s[j]<48|(s[j]>57&s[j]<65)|(s[j]>90&s[j]<97)|s[j]>122){
j--;
continue;
}
if(((s[i]-s[j])*(abs(s[i]-s[j])-offset))!=0) return false;
i++;j--;
}
return true;

}
};
内容来自用户分享和网络整理,不保证内容的准确性,如有侵权内容,可联系管理员处理 点击这里给我发消息
标签:  leetcode 指针 回文