链接:https://leetcode-cn.com/problems/find-and-replace-pattern/
难度:medium
挺水的一道题啊,为啥是medium
func findAndReplacePattern(words []string, pattern string) []string {
var result []string
for _, word := range words {
if match(word, pattern) {
result = append(result, word)
}
}
return result
}
func match(word string, pattern string) bool {
if len(word) != len(pattern) {
return false
}
m := map[byte]byte{}
mp := map[byte]byte{}
for i := 0; i < len(word); i++ {
c := word[i]
cp := pattern[i]
if v, ok := m[c]; ok {
if v != cp {
return false
}
} else {
if v, ok := mp[cp]; ok {
if v != c {
return false
}
} else {
mp[cp] = c
}
m[c] = cp
}
}
return true
}
执行用时 : 0 ms, 在所有 Go 提交中击败了100.00%的用户
内存消耗 : 2.2 MB, 在所有 Go 提交中击败了100.00%的用户
估计是没人用golang提交过吧。。
有疑问加站长微信联系(非本文作者)