dart-exercism/anagram/lib/anagram.dart

22 lines
572 B
Dart
Raw Permalink Normal View History

2024-10-14 11:37:17 +02:00
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;
}
}