//可以用TreeSet理由:不会有重复的元素,满足题目要求
class Solution {
public int uniqueMorseRepresentations(String[] words) {
String[] codes = {".-","-...","-.-.","-..",".","..-.",
"--.","....","..",".---","-.-",".-..","--","-.", "---",".--.","--.-",
".-.","...","-","..-","...-",".--","-..-","-.--","--.."};
TreeSet<String> set = new TreeSet<>();
//将每一个words传给word
for(String word: words){
StringBuilder res = new StringBuilder();
//遍历word
for(int i = 0; i<word.length(); i++){
//word中的每一个字符取出并减去'a',得到的是索引
//从而得到相对应的莫尔斯密码
res.append(codes[word.charAt(i) - 'a']);
}
//toString()方法返回反映这个对象的字符串
set.add(res.toString());
}
return set.size();
}
}
但是用有序集合(基于搜索树)提交时,发现比较耗时