LeetCode 290 单词模式

题目在这
不需要使用两个哈希表就可以实现,具体思路是使用pattern中的值作为key,使用str中的值作为value,然后进行判断处理

swift实现

//: Playground - noun: a place where people can play
func WordPattern(_ pattern : String, _ str : String) -> Bool{
    let strArr = str.split(separator: " ")
    var dic = [Character : String]()
  
    if strArr.count != pattern.characters.count || Set(strArr).count != Set(pattern.characters).count{//"abba","mu mu mu mu"
        return false
    }
    
    for (i,v) in pattern.characters.enumerated(){
        if dic[v] == nil{
            dic[v] = String(strArr[i])
        }else{
            if dic[v] != String(strArr[i]) {
                return false
            }
        }
    }
    return true
}
WordPattern("aass", "mu mu dy dy")


python实现

#-*- coding:utf-8 -*-
#@Filename:leetcode290
#@Date:2018-09-10 20:44
#@auther:Mudy
#@E-mail:2808050775@qq.com
#@Blog:txmudy.cn

class Solution(object):
    def wordPattern(self, pattern, str):
        """
        :type pattern: str
        :type str: str
        :rtype: bool
        """
        dic = {}
        strArr = str.split(" ")
        if len(strArr) != len(pattern) or  len(set(strArr)) != len(set(pattern)):# "abba","mu mu mu mu"
            return False

        for i, v in enumerate(pattern):
            if v not in dic:
                dic[v] = strArr[i]
            else:
                if  dic[v] != strArr[i] :
                    print(dic[v],strArr[i],end="\n")
                    return False
        return True



if __name__ == "__main__":
    s = Solution()
    print(s.wordPattern("aabb","mudy mudy mudy mudy"))
©著作权归作者所有,转载或内容合作请联系作者
平台声明:文章内容(如有图片或视频亦包括在内)由作者上传并发布,文章内容仅代表作者本人观点,简书系信息发布平台,仅提供信息存储服务。

推荐阅读更多精彩内容

  • 飞屋环游记乍看起来,是一个关于冒险和梦想的故事,但其中最让我动容的是卡尔和艾丽平凡的真情,还有卡尔那恍然一悟——你...
    谢之阅读 4,824评论 0 4
  • 143网中角逐 “唉。。。这真是你命中注定的一场孽缘,大哥知道你的心思,换做是我,我也会这样做。。。即然你执意要去...
    红绿灯朋克阅读 226评论 0 0
  • 最后一丝胭脂红洇入青灰的天空,夜幕将上未上。 正是下班高峰期,肖芷郁拎着包被人潮拥着往前行,她有些烦躁,干脆远远的...
    熊猫微刊阅读 289评论 0 3
  • xx: 一切都好,请不必为我担心。 我在这边的生活很好,同学朋友们都很好,我很开心。…… 我也有...
    烧水太郎阅读 144评论 0 0