Welcome to collectivesolver - Programming & Software Q&A with code examples. A website with trusted programming answers. All programs are tested and work.

Contact: aviboots(AT)netvision.net.il

Buy a domain name - Register cheap domain names from $0.99 - Namecheap

Scalable Hosting That Grows With You

Secure & Reliable Web Hosting, Free Domain, Free SSL, 1-Click WordPress Install, Expert 24/7 Support

Semrush - keyword research tool

Boost your online presence with premium web hosting and servers

Disclosure: My content contains affiliate links.

39,945 questions

51,886 answers

573 users

How to group Anagrams from an array of strings in C#

1 Answer

0 votes
using System;
using System.Collections.Generic;
using System.Linq;

class GroupAnagrams
{
    public static List<List<string>> GroupAnagramsMethod(string[] strs) {
        var anagramMap = new Dictionary<string, List<string>>();

        foreach (string str in strs) {
            char[] charArray = str.ToCharArray();
            Array.Sort(charArray); // Sort the characters
            string sortedStr = new string(charArray);

            if (!anagramMap.ContainsKey(sortedStr)) {
                anagramMap[sortedStr] = new List<string>();
            }
            anagramMap[sortedStr].Add(str);
        }

        return anagramMap.Values.ToList();
    }

    static void Main()
    {
        string[] input = { "eat", "tea", "tan", "ate", "nat", "bat", "tae" };
        List<List<string>> groupedAnagrams = GroupAnagramsMethod(input);

        foreach (List<string> group in groupedAnagrams) {
            Console.WriteLine(string.Join(", ", group));
        }
    }
}



/*
run:

eat, tea, ate, tae
tan, nat
bat

*/

 



answered Jun 9, 2025 by avibootz
...