其他分享
首页 > 其他分享> > leetcode.单纯规律

leetcode.单纯规律

作者:互联网

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
}

  

标签:string,ss,str2,patterns,单纯,Split,wordPatternCompare,leetcode,规律
来源: https://www.cnblogs.com/wustjq/p/15710899.html