leetcode:Valid Palindrome 菜鸟解法

来源:互联网 发布:人工智能 招聘 深圳 编辑:程序博客网 时间:2024/06/14 11:02

我使用的方法是头一个指针,尾一个指针,同时往前运动,当有不相同的字母或数字即为非回文

代码如下:

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;            }};


0 0
原创粉丝点击