加入收藏 | 设为首页 | 会员中心 | 我要投稿 李大同 (https://www.lidatong.com.cn/)- 科技、建站、经验、云计算、5G、大数据,站长网!
当前位置: 首页 > 站长学院 > PHP教程 > 正文

LeetCode:Group Anagrams

发布时间:2020-12-13 21:08:04 所属栏目:PHP教程 来源:网络整理
导读:Group Anagrams Total Accepted: 76941 Total Submissions: 275801 Difficulty: Medium Given an array of strings,group anagrams together. For example,given: [eat,tea,tan,ate,nat,bat] , Return: [ [ate,eat,tea],[nat,tan],[bat]] Note: For the retu

Group Anagrams


Total Accepted: 76941 Total Submissions: 275801 Difficulty: Medium

Given an array of strings,group anagrams together.

For example,given: ["eat","tea","tan","ate","nat","bat"]
Return:

[ ["ate","eat","tea"],["nat","tan"],["bat"] ]

Note:

  1. For the return value,each inner list's elements must follow the lexicographic order.
  2. All inputs will be in lower-case.

Subscribe to see which companies asked this question

Hide Tags
 Hash Table String
Hide Similar Problems
 (E) Valid Anagram (E) Group Shifted Strings



























思路:

使用先将字符串数组排序(这样可以保证输出的顺序);

使用HashMap<String,List<String>>,key(String):是第1次出现的字符串;value(List<String>):用于保存所有相同字母乱序的值。


java code:

public class Solution { public List<List<String>> groupAnagrams(String[] strs) { if(strs==null || strs.length==0) return new ArrayList<List<String>>(); Map<String,List<String>> map = new HashMap<String,List<String>>(); Arrays.sort(strs); for(String str : strs) { char[] cs = str.toCharArray(); Arrays.sort(cs); String keyStr = new String(cs); if(!map.containsKey(keyStr)) map.put(keyStr,new ArrayList<String>()); map.get(keyStr).add(str); } return new ArrayList<List<String>>(map.values()); } }


(编辑:李大同)

【声明】本站内容均来自网络,其相关言论仅代表作者个人观点,不代表本站立场。若无意侵犯到您的权利,请及时与联系站长删除相关内容!

    推荐文章
      热点阅读