22 lines
572 B
Dart
22 lines
572 B
Dart
class Anagram {
|
|
List<String> findAnagrams(String anagram, List<String> checkList) {
|
|
List<String> anagrams = [];
|
|
List<String> chars = anagram.toLowerCase().split('');
|
|
|
|
for (final word in checkList) {
|
|
if (word.length != anagram.length ||
|
|
word.toLowerCase() == anagram.toLowerCase()) {
|
|
continue;
|
|
}
|
|
|
|
final wordChars = word.toLowerCase().split('');
|
|
if (wordChars.every((char) => chars.remove(char))) {
|
|
anagrams.add(word);
|
|
chars = anagram.toLowerCase().split('');
|
|
}
|
|
}
|
|
|
|
return anagrams;
|
|
}
|
|
}
|