Buddy Strings

EasyStringshashing

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 two strings s and goal, return true if you can make s equal to goal by performing **exactly one** swap in s, and false otherwise. A swap picks two different indices i != j and exchanges s[i] and s[j]. The swap is mandatory: if s already equals goal, the answer is true only when some swap leaves s unchanged (that is, s contains a repeated character).

Examples

Input: s = "ab", goal = "ba"
Output: true
Swap indices 0 and 1.
Input: s = "ab", goal = "ab"
Output: false
The only swap turns "ab" into "ba".
Input: s = "aa", goal = "aa"
Output: true
Swapping the two equal characters keeps the string the same.

Constraints

  • 1 <= s.length, goal.length <= 2 * 10^4
  • `s` and `goal` consist of lowercase 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