File tree 1 file changed +25
-0
lines changed
1 file changed +25
-0
lines changed Original file line number Diff line number Diff line change
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' ))
You can’t perform that action at this time.
0 commit comments