804. 唯一摩尔斯密码词
给你一个字符串数组 words ,每个单词可以写成每个字母对应摩尔斯密码的组合。
例如,“cab” 可以写成 “-.-…–…” ,(即 “-.-.” + “.-” + “-…” 字符串的结合)。我们将这样一个连接过程称作 单词翻译 。
对 words 中所有单词进行单词翻译,返回不同 单词翻译 的数量。
class Solution {
public static final String[] MORSE = {".-", "-...", "-.-.", "-..", ".", "..-.", "--.",
"....", "..", ".---", "-.-", ".-..", "--", "-.",
"---", ".--.", "--.-", ".-.", "...", "-", "..-",
"...-", ".--", "-..-", "-.--", "--.."};
public int uniqueMorseRepresentations(String[] words) {
Set<String> seen = new HashSet<String>();
for (String word : words) {
StringBuilder code = new StringBuilder();
for (int i = 0; i < word.length(); i++) {
char c = word.charAt(i);
code.append(MORSE[c - 'a']);
}
seen.add(code.toString());
}
return seen.size();
}
}