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