package q290 import "strings" func wordPattern(pattern string, s string) bool { index := map[byte]string{} invIndex := map[string]struct{}{} fields := strings.Fields(s) if len(fields) != len(pattern) { return false } for i, word := range fields { if w, ok := index[pattern[i]]; ok { if w != word { return false } } else { if _, ok := invIndex[word]; ok { return false } index[pattern[i]] = word invIndex[word] = struct{}{} } } return true } var _ = wordPattern