给定一种 pattern(模式)
和一个字符串 str
,判断 str
是否遵循这种模式。
这里的 遵循 指完全匹配,例如在pattern
里的每个字母和字符串 str
中的每个非空单词存在双向单映射关系。
例如:
- pattern =
"abba"
, str ="dog cat cat dog"
, 返回true - pattern =
"abba"
, str ="dog cat cat fish"
, 返回false. - pattern =
"aaaa"
, str ="dog cat cat dog"
, 返回false. - pattern =
"abba"
, str ="dog dog dog dog"
, 返回false.
说明:
你可以假设 pattern
只包含小写字母, str
包含了由单个空格分开的小写单词
解题思路:
比较长度即可
解题代码:
str = str.split()
return len(pattern) == len(str) and len(set(zip(pattern, str))) == len(set(pattern)) == len(set(str))