| 1234567891011121314151617181920212223 | 
							- func wordPattern(pattern string, str string) bool {
 
- 	words := strings.Split(str, " ")
 
- 	if len(words) != len(pattern) {
 
- 		return false
 
- 	}
 
- 	r2s := make(map[rune]string)
 
- 	s2r := make(map[string]rune)
 
- 	for i, p := range pattern {
 
- 		if s, ok := r2s[p]; ok {
 
- 			if s != words[i] {
 
- 				return false
 
- 			}
 
- 		}
 
- 		if r, ok := s2r[words[i]]; ok {
 
- 			if r != p {
 
- 				return false
 
- 			}
 
- 		}
 
- 		r2s[p] = words[i]
 
- 		s2r[words[i]] = p
 
- 	}
 
- 	return true
 
- }
 
 
  |