C#版 - Leetcode49 - 字母异位词分组 - 题解

C#版 - Leetcode49 - 字母异位词分组 - 题解

Leetcode49.Group Anagrams


在线提交:
https://leetcode.com/problems/group-anagrams/

题目描述

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

示例:

输入: ["eat", "tea", "tan", "ate", "nat", "bat"],
输出:
[
  ["ate","eat","tea"],
  ["nat","tan"],
  ["bat"]
]

说明:

  • 所有输入均为小写字母。

  • 不考虑答案输出的顺序。

    • Difficulty: Medium

    • Total Accepted: 238 K

    • Total Submissions: 577.1K

    • Contributor: LeetCode

Related Topics:
Hash Table
String

Similar Questions:
Valid Anagram
Group Shifted Strings

思路:

方法1 已AC代码:

public class Solution { public IList<IList<string>> GroupAnagrams(string[] strs) { IList<IList<string>> res = new List<IList<string>>(); if (strs == null || strs.Length == 0) return res; Dictionary<string, int> dict = new Dictionary<string,int>(); foreach (var str in strs) { char[] ch = str.ToCharArray(); Array.Sort(ch); string s = new string(ch); if (dict.ContainsKey(s)) { IList<string> list = res[dict[s]]; list.Add(str); } else { IList<string> list = new List<string>(); list.Add(str); dict.Add(s, res.Count); res.Add(list); } } return res; } } 

Rank:

You are here!
Your runtime beats <kbd>30.94%</kbd> of csharp submissions.

方法2:

 

https://www.youtube.com/watch?v=YQbjqVjOESk

全部评论

相关推荐

不愿透露姓名的神秘牛友
11-24 20:55
阿里国际 Java工程师 2.7k*16.0
程序员猪皮:没有超过3k的,不太好选。春招再看看
点赞 评论 收藏
分享
ArisRobert:统一解释一下,第4点的意思是,公司按需通知员工,没被通知到的员工是没法去上班的,所以只要没被通知到,就自动离职。就是一种比较抽象的裁员。
点赞 评论 收藏
分享
喜欢走神的孤勇者练习时长两年半:池是池,发是发,我曾池,我现黑
点赞 评论 收藏
分享
评论
点赞
收藏
分享
牛客网
牛客企业服务