Challenge: Group Anagrams
Solve the challenge of finding group anagrams in a list of strings.
We'll cover the following
Problem statement
Given a list of strings that contain anagrams, write a function to print pairs of those anagrams.
Input
A list of strings. Remember that spaces count as characters. So, " abc"
and "cab"
are technically not anagrams since " abc"
has spaces, which "cab"
does not.
Output
A list of lists where all pairs of anagrams are grouped together.
Sample input
input = {
"tom marvolo riddle ",
"abc",
"def",
"cab",
"fed",
"brag",
"clint eastwood ",
"i am lord voldemort",
"elvis",
"grab",
"old west action",
"lives"
};
Sample output
result = {
{"abc", "cab"},
{"clint eastwood ", "old west action"},
{"def", "fed"},
{"elvis", "lives"}
};
Note: The order of the anagrams doesn’t matter!
Coding exercise
First, take a close look at this problem, design a step-by-step algorithm, and then jump on to implementation. This problem is designed for your practice, so try to solve it on your own first. If you get stuck, you can always refer to the solution provided in the next section.
Create a free account to view this lesson.
By signing up, you agree to Educative's Terms of Service and Privacy Policy