func isIsomorphic(_ s: String, _ t: String) -> Bool {
var map = Dictionary<Character,Character>()
let length1 = s.count , length2 = t.count
if length1 != length2 {
return false
}
let array1 = Array(s) ,array2 = Array(t)
for i in 0..<length1 {
let key = array1[i]
let temp = array2[i]
//空的直接放进去
if i == 0 {
map[key] = temp
}else {
//如果在字典里面存在,在另外里面找值是否相等
if let value = map[key] {
if value != temp {
return false
}
}
//说明没有遇到过 判断是否可以放进去map
else{
//不同字符不能映射到同一个字符上
if map.values.contains(temp){
return false
}else {
map[key] = temp
}
}
}
}
return true
}
网友评论