public boolean isPalindrome(String s) {
		if (s == null) {
			return false;
		}

		if (s.trim().isEmpty()) {
			return true;
		}

		char[] cs = s.trim().toLowerCase().toCharArray();

		boolean matched = true;
		for (int i = 0, j = cs.length - 1; i < j;) {
			char x = cs[i];
			char y = cs[j];
			if (!alphanumeric(x)) {
				i += 1;
				continue;
			}

			if (!alphanumeric(y)) {
				j -= 1;
				continue;
			}

			if (x == y) {
				i += 1;
				j -= 1;
			} else {
				matched = false;
				break;
			}
		}

		return matched;
	}