[Leetcode] 49. Anagrams

来源:互联网 发布:人脸大数据 编辑:程序博客网 时间:2024/05/02 04:50

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

Note: All inputs will be in lower-case.

import java.util.ArrayList;import java.util.HashMap;public class Solution {    public ArrayList<String> anagrams(String[] strs) {        ArrayList<String> result = new ArrayList<String>();        if(strs.length == 0 || strs == null) return result;        HashMap<String, ArrayList<String>> map = new HashMap<String, ArrayList<String>>();        for(int i = 0; i < strs.length; i++){            char[] c = strs[i].toCharArray();            Arrays.sort(c);            String s = new String(c);            if(!map.containsKey(s)){                map.put(s, new ArrayList<String>());            }            ArrayList<String> anagrams = map.get(s);            anagrams.add(strs[i]);        }        for(ArrayList<String> temp: map.values()){            if(temp.size() > 1) result.addAll(temp);        }        return result;    }}


0 0