Valid Palindrome
Learn how to solve the 'Valid Palindrome' problem. This detailed resource details brute force and optimized approaches.
Problem Statement
A phrase is a palindrome if, after converting all uppercase letters into lowercase letters and removing all non-alphanumeric characters, it reads the same forward and backward. Alphanumeric characters include letters and numbers.
Given a string s, return True if it is a palindrome, or False otherwise.
Write a function isPalindrome(s: str) -> bool.
- •1 <= len(s) <= 2 * 10^5
- •s consists only of printable ASCII characters
Examples
s = "A man, a plan, a canal: Panama"
True
After removing non-alphanumeric characters and converting to lowercase: "amanaplanacanalpanama", which is a palindrome.
s = "race a car"
False
After processing: "raceacar" is not a palindrome.
s = " "
True
After removing non-alphanumeric characters, s is an empty string. An empty string is a palindrome by definition.
Need a Hint?
Edge Cases to Watch
- Empty list or null input variables
- Single item lists/arrays
- Extremely large input bounds causing integer or stack overflow
Ready to Solve?
Open the problem in PyRun's browser-based Python editor. Your code runs fully offline — no server required.