Advertisement
HXXXXJ

890. Find and Replace Pattern

Apr 13th, 2019
151
0
Never
Not a member of Pastebin yet? Sign Up, it unlocks many cool features!
Swift 0.76 KB | None | 0 0
  1.     func findAndReplacePattern(_ words: [String], _ pattern: String) -> [String] {
  2.         let p = decodeStr( pattern)
  3.         let n = pattern.count
  4.         var res = [String]()
  5.         for w in words{
  6.             if w.count != n { continue}
  7.             if decodeStr(w) == p{
  8.                 res.append(w)
  9.             }
  10.            
  11.         }
  12.         return res
  13.     }
  14.    
  15.     func decodeStr(_ str: String) -> [Int]{
  16.         var map = [Character: Int]()
  17.         var res = [Int]()
  18.         for char in str{
  19.             if let index = map[char]{
  20.                 res.append(index)
  21.             }else{
  22.                 let index = map.count
  23.                 map[char] = index
  24.                 res.append(index)
  25.             }
  26.         }
  27.         return res
  28.     }
Advertisement
Add Comment
Please, Sign In to add comment
Advertisement