美文网首页
字母异位词分组

字母异位词分组

作者: 二进制的二哈 | 来源:发表于2019-12-09 22:41 被阅读0次

    题目来源:力扣(LeetCode)
    链接:https://leetcode-cn.com/problems/group-anagrams

    给定一个字符串数组,将字母异位词组合在一起。字母异位词指字母相同,但排列不同的字符串。

    示例:

    输入: ["eat", "tea", "tan", "ate", "nat", "bat"],
    输出:
    [
      ["ate","eat","tea"],
      ["nat","tan"],
      ["bat"]
    ]
    说明:
    
    所有输入均为小写字母。
    不考虑答案输出的顺序。
    

    Java代码:

    class Solution {
        public List<List<String>> groupAnagrams(String[] strs) {
            Map<String,List<String>> map = new HashMap<>();
            for(String str : strs){
                char[] chars = str.toCharArray();
                Arrays.sort(chars);
                String newStr = new String(chars);
                List<String> list = map.get(newStr);
                if(list == null){
                    list = new ArrayList<>();
                }
                list.add(str);
                map.put(newStr,list);
            }
            List<List<String>> ans = new ArrayList<>();
            for(Map.Entry<String,List<String>> entry : map.entrySet()){
                ans.add(entry.getValue());
            }
            return ans;
        }
    }
    

    相关文章

      网友评论

          本文标题:字母异位词分组

          本文链接:https://www.haomeiwen.com/subject/ruzigctx.html