BiruLyu
7/14/2017 - 7:56 PM

125. Valid Palindrome(#).java

public class Solution {
    public boolean isPalindrome(String s) {
        String actual = s.replaceAll("[^A-Za-z0-9]", "").toLowerCase();
        String rev = new StringBuffer(actual).reverse().toString();
        return actual.equals(rev);
    }
}
public class Solution {
    public boolean isPalindrome(String s) {
        if(s.equals(""))return true;
        int length = s.length();
        int j=0;
        int k=length-1;
        while(j<k){
            int a = s.charAt(j);
            int b = s.charAt(k);
            if((a<65||a>90)&&(a<97||a>122)&&(a<48||a>57)) {
                j++;
                continue;
            }
            if((b<65||b>90)&&(b<97||b>122)&&(b<48||b>57)) {
                k--;
                continue;
            }
            if(a!=b){
                if(a>=65&&a<=90){
                    return (a-'A')==(b-'a');
                }
                if(a>=97&&a<=122){
                    return (a-'a')==(b-'A');
                }
                return false;
            }
            j++;
            k--;
        }
        return true;
    }
}
public class Solution {
    public boolean isPalindrome(String s) {
        if (s.isEmpty()) {
        	return true;
        }
        int head = 0, tail = s.length() - 1;
        char cHead, cTail;
        while(head <= tail) {
        	cHead = s.charAt(head);
        	cTail = s.charAt(tail);
        	if (!Character.isLetterOrDigit(cHead)) {
        		head++;
        	} else if(!Character.isLetterOrDigit(cTail)) {
        		tail--;
        	} else {
        		if (Character.toLowerCase(cHead) != Character.toLowerCase(cTail)) {
        			return false;
        		}
        		head++;
        		tail--;
        	}
        }
        
        return true;
    }
}