Valid Palindrome

来源:互联网 发布:kmp 算法 编辑:程序博客网 时间:2024/04/20 12:05
public class Solution {    public boolean isPalindrome(String s) {        // Start typing your Java solution below        // DO NOT write main() function        if(s==null)return true;        if(s.length()==1)return true;        int len = s.length();                int low = 0;        int high = len-1;        while(low<high){                        while(!isLetternumber(s.charAt(low))&&low<high)                low++;            while(!isLetternumber(s.charAt(high))&&low<high)                high--;            if(equal(s.charAt(low),s.charAt(high))){            high--;low++;            }            else return false;        }        return true;    }    private boolean equal(char a, char b){    return a==b||(a+32==b)||(b+32==a);    }    private boolean isLetternumber(char c){    return ((c>='a')&&(c<='z'))||((c>='A')&&(c<='Z'))||((c>='0')&&(c<='9'));    }    public static void main(String[] args){    String a = ".,";    Solution s = new Solution();    System.out.println(s.isPalindrome(a));    }}