804 LeetCode 唯一摩尔斯密码词

题目描述:
在这里插入图片描述
思路:
首先把26个字母对应的摩尔斯密码写在哈希表里面;
然后把每个单词的对应的摩尔斯密码,计数,最后找出不相同种类;

代码如下:

class Solution {
public:
    int uniqueMorseRepresentations(vector<string>& words) {
        map<char,string>code;
        map<string,int>cnt;
        int sum=0;
        code['a']=".-";
        code['b']="-...";
        code['c']="-.-.";
        code['d']="-..";
        code['e']=".";
        code['f']="..-.";
        code['g']="--.";
        code['h']="....";
        code['i']="..";
        code['j']=".---";
        code['k']="-.-";
        code['l']=".-..";
        code['m']="--";
        code['n']="-.";
        code['o']="---";
        code['p']=".--.";
        code['q']="--.-";
        code['r']=".-.";
        code['s']="...";
        code['t']="-";
        code['u']="..-";
        code['v']="...-";
        code['w']=".--";
        code['x']="-..-";
        code['y']="-.--";
        code['z']="--..";
        for(int i=0;i<words.size();i++){
            string res="";
            for(int j=0;j<words[i].size();j++){
                res+=code[words[i][j]];
            }
            cnt[res]++;
            if(cnt[res]==1)
            sum++;
        }
        return sum;
    }
};
发布了123 篇原创文章 · 获赞 0 · 访问量 948

猜你喜欢

转载自blog.csdn.net/peachzy/article/details/104390098