AlgoForge
LearnPracticeMockPricing
AlgoForge

Master DSA patterns and ace your next technical interview.

Learn

  • Curriculum
  • Problems
  • Daily Challenge
  • Mock Interview

Account

  • Dashboard
  • Pricing
  • Sign In
  • Get Started

Company

  • Privacy Policy
  • Terms of Service

© 2026 AlgoForge. All rights reserved.

Built for engineers who ship.

easyTwo Pointers

Valid Palindrome

## Problem

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

Input
s = "A man, a plan, a canal: Panama"
Output
true
"amanaplanacanalpanama" is a palindrome.
Input
s = "race a car"
Output
false
"raceacar" is not a palindrome.
Input
s = " "
Output
true
After filtering, empty string is a palindrome.

Constraints

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