class Solution { public: vector characters = {".-","-...","-.-.","-..",".","..-.","--.","....","..",".---","-.-",".-..","--","-.","---",".--.","--.-",".-.","...","-","..-","...-",".--","-..-","-.--","--.."}; string getMorse(string &word) { int index = 0; string result; for (int i = 0; i < word.size(); i++) { index = word[i] - 'a'; result += characters[index]; } return result; } int uniqueMorseRepresentations(vector& words) { int count = 0; string morse; unordered_map trans; for (int i = 0; i < words.size(); i++) { morse = getMorse(words[i]); if (trans.find(morse) == trans.end()) { trans[morse] = words[i]; count++; } } return count; } };