Your question is Palindrome With Edge Cases. Start with the requirements on the right.
Run and submit as often as you like. When you're ready, talk me through your approach or go straight to the code.
A text utility in the My BMW App needs to recognize palindromic user-entered text. Write a function that returns whether a string reads the same forward and backward after ignoring letter case, spaces, and non-alphanumeric characters.
Implement is_palindrome(s), where s is a string. Return True if the filtered, case-insensitive sequence of letters and digits is identical in both directions. Return False otherwise. If filtering removes every character, return True.
Use a two-pointer approach that scans from both ends. You may use Python's isalnum() method to identify characters that should be compared.
def is_palindrome(s):