How to group Anagrams from a list of strings in Swit

1 Answer

0 votes
import Foundation

func groupAnagrams(_ strs: [String]) -> [[String]] {
    var anagramMap = [String: [String]]()

    for str in strs {
        let sortedStr = String(str.sorted()) // Sort characters in the string
        anagramMap[sortedStr, default: []].append(str)
    }

    return Array(anagramMap.values)
}

let inputWords = ["eat", "tea", "tan", "ate", "nat", "bat", "tae"]
let groupedAnagrams = groupAnagrams(inputWords)

for group in groupedAnagrams {
    print(group.joined(separator: " "))
}




/*
run:

eat tea ate tae
bat
tan nat

*/

 



answered Jun 10, 2025 by avibootz
...