<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>