let matchTable:[Int:[String]]=[2:["a","b","c"],3:["d","e","f"],4:["g","h","i"],5:["j","k","l"],6:["m","n","o"],7:["p","q","r","s"],8:["t","u","v"],9:["w","x","y","z"]]funcletterCombinations(_ digits:String)->[String]{
if digits ==""{
// 避免map的时候返回 [""]return[]}// Set中任何元素只出现一次var ret:Set<String>=[]var i =0while i <5000{
var str =""for c in digits {
let val =Int(String(c))!// 取随机内容
str += matchTable[val]!.randomElement()!}
ret.insert(str)
i +=1}return ret.map{
(str)->Stringinreturn str
}}