Skip to content

Commit 49e800d

Browse files
committedDec 16, 2020
feat: word-pattern
1 parent d00c252 commit 49e800d

File tree

1 file changed

+25
-0
lines changed

1 file changed

+25
-0
lines changed
 

‎str.word-pattern.py

+25
Original file line numberDiff line numberDiff line change
@@ -0,0 +1,25 @@
1+
class Solution:
2+
"""
3+
290. 单词规律
4+
https://leetcode-cn.com/problems/word-pattern
5+
给定一种规律 pattern 和一个字符串 str ,判断 str 是否遵循相同的规律。
6+
这里的 遵循 指完全匹配,例如, pattern 里的每个字母和字符串 str 中的每个非空单词之间存在着双向连接的对应规律。
7+
"""
8+
def wordPattern(self, pattern: str, s: str) -> bool:
9+
pattern_map = {}
10+
s_arr = s.split(' ')
11+
if len(s_arr) != len(pattern):
12+
return False
13+
14+
for i in range(len(pattern)):
15+
if pattern[i] not in pattern_map and s_arr[i] not in pattern_map.values():
16+
pattern_map[pattern[i]] = s_arr[i]
17+
elif pattern_map.get(pattern[i], '') != s_arr[i]:
18+
return False
19+
20+
return True
21+
22+
so = Solution()
23+
print(so.wordPattern('abba', 'dog cat cat dog'))
24+
print(so.wordPattern('abba', 'dog cat cat fish'))
25+
print(so.wordPattern('abba', 'dog dog dog dog'))

0 commit comments

Comments
 (0)