(s)
return True
:type s: str
    :rtype: bool
:type s: str
    :rtype: bool
: type s : str : rtype : bool
def is_palindrome(s):
    """
    :type s: str
    :rtype: bool
    """
    i = 0
    j = len(s)-1
    while i < j:
        while not s[i].isalnum():
            i += 1
        while not s[j].isalnum():
            j -= 1
        if s[i].lower() != s[j].lower():
            return False
        i, j = i+1, j-1
    return True
def is_palindrome ( s ) : i = 0 j = len ( s ) - 1 while i < j : while not s [ i ] . isalnum ( ) : i += 1 while not s [ j ] . isalnum ( ) : j -= 1 if s [ i ] . lower ( ) != s [ j ] . lower ( ) : return False i , j = i + 1 , j - 1 return True