Advertisement
Not a member of Pastebin yet?
Sign Up,
it unlocks many cool features!
- func findAndReplacePattern(_ words: [String], _ pattern: String) -> [String] {
- let p = decodeStr( pattern)
- let n = pattern.count
- var res = [String]()
- for w in words{
- if w.count != n { continue}
- if decodeStr(w) == p{
- res.append(w)
- }
- }
- return res
- }
- func decodeStr(_ str: String) -> [Int]{
- var map = [Character: Int]()
- var res = [Int]()
- for char in str{
- if let index = map[char]{
- res.append(index)
- }else{
- let index = map.count
- map[char] = index
- res.append(index)
- }
- }
- return res
- }
Advertisement
Add Comment
Please, Sign In to add comment
Advertisement