在Swift中删除字符串的重复行并保持顺序的方法是使用Set数据结构和数组的组合。下面是一个完整的解决方案:
func removeDuplicateLines(_ input: String) -> String {
var uniqueLines = Set<String>()
var result = [String]()
input.enumerateLines { line, _ in
if !uniqueLines.contains(line) {
uniqueLines.insert(line)
result.append(line)
}
}
return result.joined(separator: "\n")
}
这个函数接受一个字符串作为输入,并返回一个删除重复行后的字符串。它使用了Set数据结构来存储唯一的行,并使用数组来保持顺序。
使用enumerateLines
方法遍历输入字符串的每一行。如果当前行不在Set中,表示它是一个唯一的行,我们将其添加到Set和结果数组中。最后,我们使用joined(separator:)
方法将结果数组中的行连接起来,并用换行符分隔。
这个方法的时间复杂度是O(n),其中n是输入字符串的行数。它适用于任何需要删除重复行并保持顺序的情况。
腾讯云相关产品和产品介绍链接地址:
请注意,以上仅为腾讯云的一些相关产品,其他云计算品牌商也提供类似的产品和服务。
领取专属 10元无门槛券
手把手带您无忧上云