Unique Word Abbreviation

给一个string数组, 让你一个方法, 可以判断缩写是不是unique, 这个缩写就是如果string大于3,则保留首字母,尾字母, 然后中间的省略为字母的个数.

用个hashset就可以了..

Map<String,Set<String>> maps = new HashMap<>();
    public ValidWordAbbr(String[] d) {
        for(String s : d){
            String a = abbr(s);
            Set<String> set = maps.containsKey(a) ? maps.get(a) : new HashSet<String>();
            set.add(s);
            maps.put(a,set);
      }
    }

    public boolean isUnique(String w) {
        String a = abbr(w);
        return !maps.containsKey(a) || (maps.get(a).contains(w) && maps.get(a).size() == 1);
    }
    public String abbr(String s) {
    if (s.length() < 3) return s;
    return s.substring(0, 1) + String.valueOf(s.length() - 2) + s.substring(s.length() - 1);
  }