mirror of
https://gitee.com/coder-xiaomo/leetcode-problemset
synced 2025-01-11 02:58:13 +08:00
33 lines
1.6 KiB
HTML
33 lines
1.6 KiB
HTML
<p>Given a list of strings <code>words</code> and a string <code>pattern</code>, return <em>a list of</em> <code>words[i]</code> <em>that match</em> <code>pattern</code>. You may return the answer in <strong>any order</strong>.</p>
|
|
|
|
<p>A word matches the pattern if there exists a permutation of letters <code>p</code> so that after replacing every letter <code>x</code> in the pattern with <code>p(x)</code>, we get the desired word.</p>
|
|
|
|
<p>Recall that a permutation of letters is a bijection from letters to letters: every letter maps to another letter, and no two letters map to the same letter.</p>
|
|
|
|
<p> </p>
|
|
<p><strong>Example 1:</strong></p>
|
|
|
|
<pre>
|
|
<strong>Input:</strong> words = ["abc","deq","mee","aqq","dkd","ccc"], pattern = "abb"
|
|
<strong>Output:</strong> ["mee","aqq"]
|
|
<strong>Explanation:</strong> "mee" matches the pattern because there is a permutation {a -> m, b -> e, ...}.
|
|
"ccc" does not match the pattern because {a -> c, b -> c, ...} is not a permutation, since a and b map to the same letter.
|
|
</pre>
|
|
|
|
<p><strong>Example 2:</strong></p>
|
|
|
|
<pre>
|
|
<strong>Input:</strong> words = ["a","b","c"], pattern = "a"
|
|
<strong>Output:</strong> ["a","b","c"]
|
|
</pre>
|
|
|
|
<p> </p>
|
|
<p><strong>Constraints:</strong></p>
|
|
|
|
<ul>
|
|
<li><code>1 <= pattern.length <= 20</code></li>
|
|
<li><code>1 <= words.length <= 50</code></li>
|
|
<li><code>words[i].length == pattern.length</code></li>
|
|
<li><code>pattern</code> and <code>words[i]</code> are lowercase English letters.</li>
|
|
</ul>
|