Given a `pattern` and a string `s`, find if `s` follows the same pattern.
Here **follow** means a full match: there is a **bijection** between a letter in `pattern` and a **non-empty** word in `s`. Specifically:
1. Each letter in `pattern` maps to **exactly one** unique word in `s`.
2. Each unique word in `s` maps to **exactly one** letter in `pattern`.
3. 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:'a' maps to "dog" and '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 lowercase 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.