给定pattern和字符串str,判断str是否满足同一个模式
这里的满足指的是全匹配,例如, pattern 里的每个字母和字符串 str 中的每个非空单词之间存在着双向连接的对应模式
Example 1:
Input: pattern = "abba", str = "dog cat cat dog" Output: trueExample 2:
Input:pattern = "abba", str = "dog cat cat fish"Output: falseExample 3:
Input: pattern = "aaaa", str = "dog cat cat dog" Output: falseExample 4:
Input: pattern = "abba", str = "dog dog dog dog" Output: false
注意:
假设pattern只包含小写字母,pattern包含了单个空格的小写字母
1:该题与"同构字符串"类似,不过同构字符串保证两个字符串等长,本题不等长
def wordPattern(self, pattern, str):
"""
:type pattern: str
:type str: str
:rtype: bool
"""
wordList = str.split(" ")
patternList = list(pattern)
if len(wordList) != len(patternList):
return False
return len(set(wordList)) == len(set(patternList)) == len(set(zip(wordList, patternList)))
算法题来自:https://leetcode-cn.com/problems/word-pattern/description/
本文深入探讨了模式匹配算法,通过具体实例讲解了如何判断给定的模式和字符串是否完全匹配,包括模式中每个字符与字符串中非空单词之间的双向对应关系。文章提供了详细的代码实现,并对比了与同构字符串问题的区别。
1302

被折叠的 条评论
为什么被折叠?



