class Solution {
public int uniqueMorseRepresentations(String[] words) {
int len=words.length;
int ans=0;
Set<String> s=new HashSet<>();
for(int i=0;i<len;++i){
char[] ch=words[i].toCharArray();
int l=ch.length;
String it="";
for(int j=0;j<l;++j){
String decode="";
switch(ch[j]){
case 'a':
decode=".-";
break;
case 'b':
decode="-...";
break;
case 'c':
decode="-.-.";
break;
case 'd':
decode="-..";
break;
case 'e':
decode=".";
break;
case 'f':
decode="..-.";
break;
case 'g':
decode="--.";
break;
case 'h':
decode="....";
break;
case 'i':
decode="..";
break;
case 'j':
decode=".---";
break;
case 'k':
decode="-.-";
break;
case 'l':
decode=".-..";
break;
case 'm':
decode="--";
break;
case 'n':
decode="-.";
break;
case 'o':
decode="---";
break;
case 'p':
decode=".--.";
break;
case 'q':
decode="--.-";
break;
case 'r':
decode=".-.";
break;
case 's':
decode="...";
break;
case 't':
decode="-";
break;
case 'u':
decode="..-";
break;
case 'v':
decode="...-";
break;
case 'w':
decode=".--";
break;
case 'x':
decode="-..-";
break;
case 'y':
decode="-.--";
break;
case 'z':
decode="--..";
break;
}
it=it+decode;
}
if(s.contains(it)==false){
ans++;
s.add(it);
}
}
return ans;
}
}