字母异位词分组
題目:
給定一個字符串?dāng)?shù)組,將字母異位詞組合在一起。字母異位詞指字母相同,但排列不同的字符串。
示例:
輸入: ["eat", "tea", "tan", "ate", "nat", "bat"], 輸出: [["ate","eat","tea"],["nat","tan"],["bat"] ] class Solution {public List<List<String>> groupAnagrams(String[] strs) {if(strs.length==0)return new ArrayList<>();Map<String,List<String>> hashMap=new HashMap<>();for(String s:strs){char[] ch=s.toCharArray();Arrays.sort(ch);String key=String.valueOf(ch);if(!hashMap.containsKey(key))hashMap.put(key, new ArrayList());hashMap.get(key).add(s);}return new ArrayList<>(hashMap.values());} }思路:將Hashmap數(shù)據(jù)結(jié)構(gòu)用的特別巧妙,key的值是字符串,而value的值是一個列表;
? ? ? ? ? ?其中在判斷每個單詞是否相同時,它將其每個單詞排序,作為key值,如果是這個key值則將其添加到key的值中。
轉(zhuǎn)載于:https://www.cnblogs.com/Optimism/p/10779660.html
總結(jié)
 
                            
                        - 上一篇: gentoo hibernate
- 下一篇: Jenkins总结
