1. 程式人生 > >LeetCode-804-獨一無二的莫爾斯碼

LeetCode-804-獨一無二的莫爾斯碼

[".-","-...","-.-.","-..",".","..-.","--.","....","..",".---","-.-",".-..","--","-.","---",".--.","--.-",".-.","...","-","..-","...-",".--","-..-","-.--","--.."]

每個字串分別對應著26個字母,輸入一個字串陣列,輸出為有幾個不重複的莫爾斯碼

思路:可以考慮使用HashSet來儲存字串陣列的莫爾斯碼,因為HashSet是不允許存放重複元素的

class Solution {
    public int uniqueMorseRepresentations(String[] words) {
        String[] s = new String[]{".-","-...","-.-.","-..",".","..-.","--.","....","..",".---","-.-",".-..","--","-.","---",".--.","--.-",".-.","...","-","..-","...-",".--","-..-","-.--","--.."};
        Set<String> hs = new HashSet<>();
        for(String word:words){
            StringBuilder sb = new StringBuilder();
            for(char c:word.toCharArray())
                sb.append(s[c-'a']);
            hs.add(sb.toString());
        }
        return hs.size();
    }
}