题目描述
Given a pattern and a string str, find if str follows the same pattern.
Here follow means a full match, such that there is a bijection between a letter in pattern and a non-empty word in str.
题目大意:给定一个pattern和一个字符串str,请判断str形式是否与pattern相同,具体看示例
样例
Example 1:
Input: pattern = “abba”, str = “dog cat cat dog”
Output: true
Example 2:
Input:pattern = “abba”, str = “dog cat cat fish”
Output: false
Example 3:
Input: pattern = “aaaa”, str = “dog cat cat dog”
Output: false
Example 4:
Input: pattern = “abba”, str = “dog dog dog dog”
Output: false
python解法
class Solution:
def wordPattern(self, pattern: str, s: str) -> bool:
a = s.split()
if len(pattern)!=len(a)or len(set(a))!=len(set(pattern)) or len(set(zip(pattern, a))) != len(set(pattern)):
return False
return True
Runtime: 40 ms, faster than 25.38% of Python3 online submissions for Word Pattern.
Memory Usage: 13.8 MB, less than 5.55% of Python3 online submissions for Word Pattern.
题后反思:
- 样例中有可能出现pattern和s分割后数量不一致的情况,这种也要考虑在内
文中都是我个人的理解,如有错误的地方欢迎下方评论告诉我,我及时更正,大家共同进步