AlgoInsight

DSA problem

Word Pattern

EasyHash TablesPattern: Hash Map / Bijectiontop600AmazonGoogleMicrosoftUber

Given a pattern and a string s, find if s follows the same pattern.

Here follow means a full match, such that there is a bijection between a letter in pattern and a non-empty word in s. Specifically:

The words in s are separated by a single space.

Examples

Example 1
Input: pattern = "abba", s = "dog cat cat dog"
Output: true
Explanation: Letter "a" maps to "dog" and "b" maps to "cat". The mapping is a valid bijection, so the string follows the pattern.
Example 2
Input: pattern = "abba", s = "dog cat cat fish"
Output: false
Explanation: Letter "a" would have to map to both "dog" and "fish", which is not a valid one-to-one mapping.
Example 3
Input: pattern = "aaaa", s = "dog cat cat dog"
Output: false
Explanation: Letter "a" would map to "dog" and "cat" simultaneously, violating the bijection requirement.

Constraints

3 hints and a full solution walkthrough with step-by-step visualizations are available in the practice editor.

hash-tablestringbijection

Browse all DSA problems