|  | 
 
| 
本帖最后由 liuzhengyuan 于 2021-3-21 21:06 编辑
x
马上注册,结交更多好友,享用更多功能^_^您需要 登录 才可以下载或查看,没有账号?立即注册  
 专辑说明(积分规则)
 
 
 今天的题目: 
 
 给定一种规律 pattern 和一个字符串 str ,判断 str 是否遵循 pattern 所表示的规律。 
这里的 遵循 指完全匹配,例如, pattern 里的每个字母和字符串 str 中的每个非空单词之间存在着双向连接的对应规律。
 
请封装成一个函数,pattern,str 为参数
 
函数模板: 
复制代码def wordPattern(pattern, s):
    """
    :type pattern: str
    :type s: str
    :rtype: bool
    """
 示例1:
 输入: pattern = "abba", str = "dog cat cat dog"
 输出: true
示例 2:
 输入:pattern = "abba", str = "dog cat cat fish"
 输出: false
示例 3:
 输入: pattern = "aaaa", str = "dog cat cat dog"
 输出: false
示例 4:
 输入: pattern = "abba", str = "dog dog dog dog"
 输出: false
欢迎大家来答题限制:
 你可以假设 pattern 只包含小写字母, str 包含了由单个空格分隔的小写字母。
 
 
 来源:力扣(LeetCode) 
复制代码def wordPattern(keys, s):
    values = s.split(' ')
    
    if len(keys) != len(values):
        return False
    dic1 = {}
    for i in range(len(keys)):
        if(keys[i] not in dic1.keys()):
            if(values[i] in dic1.values()):
                return False
            dic1[keys[i]] = values[i]
            
        else:
            if(dic1.get(keys[i]) != values[i]):
                return False
    return True
    
    pass
pattern = 'abbba'
str1 = 'dog cat cat cat dog'
print(wordPattern(pattern, str1))
 | 
 |