public boolean isPalindrome(String s) {

		if (s == null)
			return false;
		char[] chars = s.toCharArray();
		int i = 0;
		int j = s.length() - 1;

		while (i < j) {
			while (i < s.length() - 1 && !isAlphaandNum(chars[i]))
				i++;
			char left = chars[i];
			while (j > 0 && !isAlphaandNum(chars[j]))
				j--;
			char right = chars[j];

			if (i >= j)
				break;

			if (!isSame(left, right))
				return false;
			i++;
			j--;
		}
		return true;
	}