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:
- Each letter in pattern maps to exactly one unique word in s.
- Each unique word in s maps to exactly one letter in pattern.
- No two letters map to the same word, and no two words map to the same letter.
Example 1:
- Input: pattern = โabbaโ, s = โdog cat cat dogโ
- Output: true
- Explanation:
- The bijection can be established as:
- โaโ maps to โdogโ.
- โbโ maps to โcatโ.
Example 2:
- Input: pattern = โabbaโ, s = โdog cat cat fishโ
- Output: false
Example 3:
- Input: pattern = โaaaaโ, s = โdog cat cat dogโ
- Output: false
Constraints:
- 1 <= pattern.length <= 300
- pattern contains only lower-case English letters.
- 1 <= s.length <= 3000
- s contains only lowercase English letters and spaces โ โ.
- s does not contain any leading or trailing spaces.
- All the words in s are separated by a single space.