CODE 84: Anagrams

来源:互联网 发布:星际老男孩淘宝店 编辑:程序博客网 时间:2024/04/26 06:35

Given an array of strings, return all groups of strings that are anagrams.

Note: All inputs will be in lower-case.

public ArrayList<String> anagrams(String[] strs) {// Note: The Solution object is instantiated only once and is reused by// each test case.Map<String, ArrayList<String>> map = new HashMap<String, ArrayList<String>>();ArrayList<String> result = new ArrayList<String>();for (String str : strs) {char[] cs = str.toCharArray();Arrays.sort(cs);String newStr = new String(cs);if (map.containsKey(newStr)) {ArrayList<String> value = map.get(newStr);value.add(str);map.put(newStr, value);} else {ArrayList<String> value = new ArrayList<String>();value.add(str);map.put(newStr, value);}}for (ArrayList<String> value : map.values()) {if (value.size() > 1) {result.addAll(value);}}return result;}