Dataford
Interview QuestionsInterview GuidesExperiencesMock InterviewsPricing
Get started

Palindrome Checking

EasyPython00:00
Practice interviewer
In session
5 left
00:00

Your question is Palindrome Checking. 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.

You need to log in / sign up to run or submit.

Problem

Chevron systems may receive short text labels or inspection codes that need basic structural validation. Given a string, determine whether it reads identically forward and backward after ignoring letter case and all non-alphanumeric characters.

Formal Specification

Implement is_palindrome(s), where s is a string. Return True if the normalized string is a palindrome, otherwise return False.

Normalization means:

  1. Convert uppercase English letters to lowercase.
  2. Keep only characters from a-z and 0-9.
  3. Ignore spaces, punctuation, and other characters.

Use a two-pointer approach that compares characters from both ends. Do not create a second normalized string.

Constraints

  • 1 <= len(s) <= 2 * 10^5
  • s contains printable ASCII characters
  • Only English letters and digits are considered alphanumeric
  • Comparison is case-insensitive

Function Signature

def is_palindrome(s):
Your solutionPython 3
You need to log in / sign up to run or submit.
Run your code to see test output