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.isLetterOrDigits(cHead){
				head ++;
			}
			else if(!Character.isLetterOrDigits(cTail)){
				tail --;
			}
			else{
				if(Character.toLowerCase(cHead) != Character.toLowerCase(cTail)){
					return false;
				}
				head ++;
				tail --;
			}
		}
		return true;
	}
}