Given a string s, return true if it is a palindrome after converting all uppercase letters to lowercase and removing all non-alphanumeric characters.
A string is a palindrome if it reads the same forward and backward.
Example 1:
Input: s = "Madam, I'm Adam"
Output: true
Explanation: After removing non-alphanumeric characters and converting to lowercase, the string becomes "madamimadam", which is a palindrome.
Example 2:
Input: s = "race a car"
Output: false
Explanation: After processing, the string becomes "raceacar", which is not a palindrome.
Example 3:
Input: s = " "
Output: true
Explanation: After removing non-alphanumeric characters, the string becomes "". An empty string is considered a palindrome.
1 <= s.length <= 2 * 10⁵s consists only of printable ASCII characters.