Menu
CoddyTech

字母异位词分组

本课属于 Coddy Swift 学习旅程的“逻辑与流程”单元。第 54 课,共 56 课。

challenge icon

挑战

中等

如果两个单词按字母排序后相同,它们就是变位词:listen 和 silent 排序后都是 eilnst。

读取一行输入:由逗号分隔的单词列表(单词均为小写,单词内部没有空格)。

按字母排序后的特征对单词分组。按以下顺序输出:

  1. 每组(包含两个或更多单词)输出一行,格式为 <signature>: <word1>,<word2>,...。组内单词保持输入顺序。按特征的字母顺序对各组排序。
  2. Total groups: <n>(包含两个或更多单词的组数)。

对于输入 listen,silent,abc,enlist,cab,xyz,输出为:

abc: abc,cab
eilnst: listen,silent,enlist
Total groups: 2

亲手试试

let words = readLine()!.components(separatedBy: ",")

// TODO:构建 [signature: [word]];将大小不小于 2 的分组排序后输出;
// 然后输出 'Total groups: <n>'

逻辑与流程中的所有课

自己练习: Swift 在线编辑器