Skip to contentSkip to editor

Valid Palindrome

EASYTwo Pointers

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.

Examples

Example 1

Input: s = "A man, a plan, a canal: Panama"
Output: true

"amanaplanacanalpanama" is a palindrome.

Example 2

Input: s = "race a car"
Output: false

"raceacar" is not a palindrome.

Example 3

Input: s = " "
Output: true

s is an empty string "" after removing non-alphanumeric characters. An empty string reads the same forward and backward.

Constraints

  • 1 <= s.length <= 2 * 10^5
  • s consists only of printable ASCII characters.

Select Mode

Solo Practice

Solve on your own with test feedback. Ask Sophia for hints when stuck.

Coach Me (Sophia)

Sophia guides you through the problem step-by-step.

Mock Interview with Sophia

Simulate a real interview with Sophia as your interviewer.