Palindrome Permutation

EasyArrays & Hashinghashing

Solve this the way you would in the interview: out loud, on a timer, with an AI interviewer asking follow-ups while you code. You get a scored report at the end.

Practice this as a mock interviewFree to start, no account needed

Problem

Given a string s, decide whether its characters can be rearranged to form a palindrome (a string that reads the same forwards and backwards). You do not need to build the palindrome, only report whether one exists. Return true if some permutation of s is a palindrome, otherwise false. Characters are case-sensitive, so 'a' and 'A' are different. Aim for O(n) time.

Examples

Input: s = "code"
Output: false
All four letters appear once, so at least two would be unpaired.
Input: s = "aab"
Output: true
"aba" is a palindrome made from the same letters.
Input: s = "carerac"
Output: true
"racecar" uses the same letters; only `e` has an odd count.

Constraints

  • 1 <= s.length <= 5000
  • `s` consists of lowercase and uppercase English letters

What the interviewer grades

A correct solution is one of five scores. The report also grades problem understanding (did you clarify inputs and edge cases before coding), problem solving, communication while you work, code quality, and testing. See a sample report, or read up on the pattern in the lessons.

More hashing problems