1.要将pattern与s比,也要将s与parttern比 避免一下情况
eg:p="abbc" str="dog cat cat dog"
2.strings.Split(str1,str2)
str1是你要分解的字符串 str2是你用什么来分割的字符串,str2也是字符串
func wordPattern(pattern string, s string) bool { //首先分割开来 利用map比较 patterns:=strings.Split(pattern,"") ss:=strings.Split(s," ") if len(patterns)!=len(ss){ return false } return wordPatternCompare(patterns,ss)&& wordPatternCompare(ss,patterns) } func wordPatternCompare(a []string ,b []string)bool{ dic:=make(map[string]string) for i:=0;i<len(a);i++{ if _,ok:=dic[a[i]];!ok{//不存在 就加入到map中去 dic[a[i]]=b[i] }else if dic[a[i]]!=b[i]{//存在 就判断这个数值跟你map中是否相等就行 return false } } return true }