49. Group Anagrams
来源:互联网 发布:php base64解码成图片 编辑:程序博客网 时间:2024/05/22 13:32
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: All inputs will be in lower-case.
Subscribe to see which companies asked this question.
public class Solution { public List<List<String>> groupAnagrams(String[] strs) { List<List<String>> re = new ArrayList<List<String>>();if (strs.length == 0)return re;String[] data = new String[strs.length];for (int i = 0; i < strs.length; ++i)data[i] = stringSort(strs[i]) + strs[i];Arrays.sort(data);List<String> temp = new ArrayList<String>();int len = data[0].length();String model = data[0].substring(0, len / 2);temp.add(data[0].substring(len / 2, len));for (int i = 1; i < data.length; ++i) {len = data[i].length();if (data[i].substring(0, len / 2).equals(model)) {temp.add(data[i].substring(len / 2, len));} else {re.add(temp);temp = new ArrayList<String>();model = data[i].substring(0, len / 2);temp.add(data[i].substring(len / 2, len));}}re.add(temp);return re; } static String stringSort(String str) {int[] data = new int[26];for (int i = 0; i < str.length(); ++i)data[str.charAt(i) - 'a']++;StringBuilder re = new StringBuilder();for (int i = 0; i < 26; ++i) {if (data[i] > 0) {for (int j = 0; j < data[i]; ++j)re.append((char) ('a' + i));}}return re.toString();}}
0 0
- 49. Group Anagrams
- [leetcode] 49.Group Anagrams
- 49. Group Anagrams
- LeetCode 49. Group Anagrams
- [LeetCode]49. Group Anagrams
- leetcode 49. Group Anagrams
- 49. Group Anagrams LeetCode
- 49. Group Anagrams
- 49. Group Anagrams
- 49. Group Anagrams
- Leetcode 49. Group Anagrams
- 49. Group Anagrams
- LeetCode 49. Group Anagrams
- 49. Group Anagrams
- 49. Group Anagrams
- LeetCode 49. Group Anagrams
- [leetcode] 49. Group Anagrams
- LeetCode 49. Group Anagrams
- Andriod自定义View一:TextView可设置宽高
- 技术点详解---IPSec VPN基本原理
- C++(笔记)类、构造器基础
- asdfffffffffffffffffffffffffffffff
- python 手动同步mysql表结构脚本
- 49. Group Anagrams
- 在es6中,对rest参数和扩展运算符的理解(待更新)
- GFOJ64水一水
- 技术点详解---L2TP VPN
- 学习Processing~
- Record
- tempo学习
- 【JAVA学习】——J2EE规范
- 275. H-Index II