题目
思路
首先将每个单词解析成对应的摩斯密码,然后进行存储。因为每个单词组成的摩斯密码可能相同,所以在进行摩斯密码存储的时候我们可以选择Set,Set的一个性质为元素不重复
代码
import java.util.TreeSet;
class Solution {
public int uniqueMorseRepresentations(String[] words) {
String[] codes ={".-","-...","-.-.","-..",".","..-.","--.","....","..",".---","-.-",".-..","--","-.","---",".--.","--.-",".-.","...","-","..-","...-",".--","-..-","-.--","--.."};
Set<String> set = new TreeSet<>();
for(String word : words){
StringBuilder sb = new StringBuilder();
for(int i = 0; i < word.length() ; i++){
sb.append(codes[word.charAt(i) - 'a']);
}
set.add(sb.toString());
}
return set.size();
}
}