func wordPattern(pattern string, s string) bool {
sList := strings.Split(s, " ")
if len(pattern)!=len(sList){
return false
}
p2s := map[byte]string{}
s2p := map[string]byte{}
for i := range pattern {
x, y := pattern[i], sList[i]
if (p2s[x] != "" && p2s[x] != y) || (s2p[y] > 0 && s2p[y] != x) {
return false
}
p2s[x] = y
s2p[y] = x
}
return true
}