LeetCode-804-獨一無二的莫爾斯碼
阿新 • • 發佈:2018-11-04
[".-","-...","-.-.","-..",".","..-.","--.","....","..",".---","-.-",".-..","--","-.","---",".--.","--.-",".-.","...","-","..-","...-",".--","-..-","-.--","--.."]
每個字串分別對應著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(); } }