解法一

用StringBuilder来进行翻译连接,用Set完成翻译结果的去重。

  1. import java.util.HashSet;
  2. import java.util.Set;
  3. class Solution {
  4. private final String[] CODE = {".-", "-...", "-.-.", "-..", ".", "..-.", "--.", "....", "..", ".---", "-.-", ".-..", "--", "-.", "---", ".--.", "--.-", ".-.", "...", "-", "..-", "...-", ".--", "-..-", "-.--", "--.."};
  5. public int uniqueMorseRepresentations(String[] words) {
  6. String[] morse = new String[words.length];
  7. Set<String> stringSet = new HashSet<>();
  8. int i, j;
  9. for (i = 0; i < words.length; ++i) {
  10. StringBuilder str = new StringBuilder();
  11. for (j = 0; j < words[i].length(); ++j) {
  12. str.append(CODE[words[i].charAt(j) - 97]);
  13. }
  14. System.out.println(str);
  15. stringSet.add(str.toString());
  16. }
  17. return stringSet.size();
  18. }
  19. }