Dataford
Interview QuestionsInterview GuidesExperiencesMock InterviewsPricing
Get started

Palindrome Function and Memory

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

Your question is Palindrome Function and Memory. 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

A diagnostic label generated during General Atomics MQ-9B SkyGuardian flight testing is considered symmetric if it reads the same forward and backward after removing non-alphanumeric characters and ignoring letter case. Implement a function that determines whether a label satisfies this rule.

Use a two-pointer approach that scans the string from both ends without creating a reversed or normalized copy. After implementing the function, be prepared to explain how the equivalent C++ solution would use const char* or indexed access to traverse a std::string, including how characters are stored in contiguous memory and how pointer movement remains within the string bounds.

Formal Specification

Input is a string label, containing ASCII letters, digits, spaces, and punctuation. Return True if the normalized label is a palindrome, otherwise return False.

Normalization removes every character for which isalnum is false and compares letters without regard to case. An empty normalized label is considered a palindrome.

Constraints

  • 0 <= len(label) <= 10^5
  • Input contains ASCII characters only
  • Ignore non-alphanumeric characters
  • Compare letters without regard to case
  • Use O(1) auxiliary space

Function Signature

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