Java判断回文字符串

输入一段字符串序列,字符串可能包括字母,数字,标点符号等类型字符,在判断该字符序列是否为回文时,只需判断字母和数字类型,其它类型自动忽略。
如:“A man, a plan, a canal: Panama” 是一段回文字符串
“race a car”则不是回文字符串

public class IsPalindrome{
    public static boolean isPalindrome(String s) {
        if(s.equals(""))
            return true;
        s=s.toLowerCase();
        int start=0,end=s.length()-1;
        
        while(start<end) {
            while(!(s.charAt(start)>='a'&&s.charAt(start)<='z'||s.charAt(start)>='0'&&s.charAt(start)<='9'))
                start++;
            while(!(s.charAt(end)>='a'&&s.charAt(end)<='z'||s.charAt(end)>='0'&&s.charAt(end)<='9'))
                end--;
            if(s.charAt(start)!=s.charAt(end))
                return false;
            start++;
            end--;
        }
        return true;
    }
}

 

posted on 2020-09-25 11:00  Taurus20000519  阅读(505)  评论(0)    收藏  举报