Advertisement
Alexxik

Untitled

Sep 14th, 2023
52
0
Never
Not a member of Pastebin yet? Sign Up, it unlocks many cool features!
Swift 0.84 KB | None | 0 0
  1. // MARK: - 205. Isomorphic Strings
  2. // s = "egg", t = "add"
  3.  
  4. // строки изоморфны когда s изоморфна t
  5. // и t изоморфна s
  6. // Нужно 2 словаря и 2 проверки
  7.  
  8. func isIsomorphic(_ s: String, _ t: String) -> Bool {
  9.     let s = Array(s).map{String($0)}
  10.     let t = Array(t).map{String($0)}
  11.     var s_t = [String:String]()
  12.     var t_s = [String:String]()
  13.    
  14.     for i in 0..<t.count {
  15.        
  16.         let sChar = s[i]
  17.         let tChar = t[i]
  18.        
  19.         if s_t[sChar] != nil && s_t[sChar] != tChar {
  20.             return false
  21.         }
  22.         s_t[sChar] = tChar
  23.        
  24.         // или
  25.        
  26.         if t_s[tChar] != nil && t_s[tChar] != sChar {
  27.             return false
  28.         }
  29.         t_s[tChar] = sChar
  30.     }
  31.     return true
  32. }
  33.  
  34. isIsomorphic("egg", "foo")
Advertisement
Add Comment
Please, Sign In to add comment
Advertisement